[llvm] SystemZ: Implement copyPhysReg between vr128 and gr128 (PR #90616)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed May 1 02:10:17 PDT 2024
arsenm wrote:
> I got an error with the verifier on this test case. Fixed with:
>
> ```
> diff --git a/llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir b/llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir
> index a2a07ac5c7f5..6711da657481 100644
> --- a/llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir
> +++ b/llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir
> @@ -51,9 +51,9 @@ name: copy_gr128_to_vr128__r0q_to_v0_subreg0
> tracksRegLiveness: true
> body: |
> bb.0:
> - liveins: $r0d
> + liveins: $r0q
> ; CHECK-LABEL: name: copy_gr128_to_vr128__r0q_to_v0_subreg0
> - ; CHECK: liveins: $r0d
> + ; CHECK: liveins: $r0q
> ; CHECK-NEXT: {{ $}}
> ; CHECK-NEXT: $v0 = VLVGP $r0d, $r1d
> ; CHECK-NEXT: Return implicit $v0
> @@ -66,9 +66,9 @@ name: copy_gr128_to_vr128__r0q_to_v0_subreg1
> tracksRegLiveness: true
> body: |
> bb.0:
> - liveins: $r1d
> + liveins: $r0q
> ; CHECK-LABEL: name: copy_gr128_to_vr128__r0q_to_v0_subreg1
> - ; CHECK: liveins: $r1d
> + ; CHECK: liveins: $r0q
> ; CHECK-NEXT: {{ $}}
> ; CHECK-NEXT: $v0 = VLVGP $r0d, $r1d
> ; CHECK-NEXT: Return implicit $v0
> ```
>
> ok to commit?
I think the correct fix is to add undef to the missing half. The liveness is supposed to be introduced by the copy here
https://github.com/llvm/llvm-project/pull/90616
More information about the llvm-commits
mailing list