[llvm] AArch64: Add tests for atomicrmw fp operations (PR #103701)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 29 02:27:11 PDT 2024


arsenm wrote:

> I have no idea why the windows bot keeps failing on the fmin and fmax tests. The run lines are all using explicit, full triples 

They seem to be getting different offsets for temporary stack objects. Linux/Mac output has the stack store after the call at offset 48, and the windows bot gets offset 64.

; NOLSE-NEXT:  .LBB6_2: // %atomicrmw.start
; NOLSE-NEXT:    // =>This Loop Header: Depth=1
; NOLSE-NEXT:    // Child Loop BB6_3 Depth 2
; NOLSE-NEXT:    mov v0.16b, v1.16b
; NOLSE-NEXT:    str q1, [sp, #16] // 16-byte Folded Spill
; NOLSE-NEXT:    ldr q1, [sp] // 16-byte Folded Reload
; NOLSE-NEXT:    bl fminl
; NOLSE-NEXT:    str q0, [sp, #48]
; NOLSE-NEXT:    ldr q0, [sp, #16] // 16-byte Folded Reload
; NOLSE-NEXT:    ldp x9, x8, [sp, #48]
; NOLSE-NEXT:    str q0, [sp, #64]
; NOLSE-NEXT:    ldp x11, x10, [sp, #64]

Windows bot:

ldr q1, [sp] // 16-byte Folded Reload
bl fminl
str q0, [sp, #64]
ldr q0, [sp, #16] // 16-byte Folded Reload
274:  ldp x9, x8, [sp, #64]
str q0, [sp, #48]

ldp x11, x10, [sp, #48]
.LBB6_3: // %atomicrmw.start


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


More information about the llvm-commits mailing list