1; RUN: llc < %s -mcpu=z196 -mtriple=s390x-linux-gnu -O0 \ 2; RUN: -stop-before=regallocfast 2>&1 | FileCheck %s 3; RUN: llc < %s -mcpu=z196 -mtriple=s390x-linux-gnu -O3 \ 4; RUN: -stop-before=livevars 2>&1 | FileCheck %s 5; 6; Test that copies to/from access registers are handled before regalloc with 7; GR32 regs. 8 9@x = dso_local thread_local global i32 0, align 4 10define weak_odr hidden i32* @fun0() { 11; CHECK: name: fun0 12; CHECK: {{%[0-9]+}}:gr32bit = EAR $a0 13; CHECK: {{%[0-9]+}}:gr32bit = EAR $a1 14 ret i32* @x 15} 16 17define i32 @fun1() { 18; CHECK: name: fun1 19; CHECK: [[VREG0:%[0-9]+]]:gr32bit = COPY %0 20; CHECK-NEXT: $a1 = SAR [[VREG0]] 21; CHECK: {{%[0-9]+}}:gr32bit = EAR $a0 22 %val = call i32 asm "blah", "={a0}, {a1}" (i32 0) 23 ret i32 %val 24} 25