[llvm] [X86] Fix ABI for passing after i128 (PR #124134)

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 23 23:56:52 PST 2025


================
@@ -31,15 +31,15 @@ define <2 x i128> @flag_copy_2(<2 x i128> %x, <2 x i128> %y) nounwind {
 ; CHECK-NEXT:    movq %r8, %rdi
 ; CHECK-NEXT:    {nf} sarq $63, %rdi
 ; CHECK-NEXT:    cmovoq %rdi, %rcx
-; CHECK-NEXT:    movabsq $-9223372036854775808, %r9 # imm = 0x8000000000000000
-; CHECK-NEXT:    {nf} xorq %r9, %rdi
+; CHECK-NEXT:    movabsq $-9223372036854775808, %r10 # imm = 0x8000000000000000
+; CHECK-NEXT:    {nf} xorq %r10, %rdi
 ; CHECK-NEXT:    cmovnoq %r8, %rdi
-; CHECK-NEXT:    subq {{[0-9]+}}(%rsp), %rsi
+; CHECK-NEXT:    subq %r9, %rsi
----------------
phoebewang wrote:

Ok, so you mean either this or four single `i128` is not legal argument, because even for the later, the fourth `i128` should be turn into memory by FE. In this way, I think we may not need to handle the problem here.

https://github.com/llvm/llvm-project/pull/124134


More information about the llvm-commits mailing list