; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc -mtriple=aarch64-linux-gnu -O1 -fast-isel=0 -global-isel=false %s -o - | FileCheck -check-prefix=NOLSE %s
; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+lse -O1 -fast-isel=0 -global-isel=false %s -o - | FileCheck -check-prefix=LSE %s
; RUN: llc -mtriple=aarch64-linux-gnu -mattr=-lse,-fp-armv8 -O1 < %s | FileCheck -check-prefix=SOFTFP-NOLSE %s

; FIXME: Restore test of fp128 case

define half @test_atomicrmw_fmax_f16_seq_cst_align2(ptr %ptr, half %value) #0 {
; NOLSE-LABEL: test_atomicrmw_fmax_f16_seq_cst_align2:
; NOLSE:       // %bb.0:
; NOLSE-NEXT:    fcvt s1, h0
; NOLSE-NEXT:  .LBB0_1: // %atomicrmw.start
; NOLSE-NEXT:    // =>This Inner Loop Header: Depth=1
; NOLSE-NEXT:    ldaxrh w8, [x0]
; NOLSE-NEXT:    fmov s0, w8
; NOLSE-NEXT:    fcvt s2, h0
; NOLSE-NEXT:    fmaxnm s2, s2, s1
; NOLSE-NEXT:    fcvt h2, s2
; NOLSE-NEXT:    fmov w8, s2
; NOLSE-NEXT:    stlxrh w9, w8, [x0]
; NOLSE-NEXT:    cbnz w9, .LBB0_1
; NOLSE-NEXT:  // %bb.2: // %atomicrmw.end
; NOLSE-NEXT:    // kill: def $h0 killed $h0 killed $s0
; NOLSE-NEXT:    ret
;
; LSE-LABEL: test_atomicrmw_fmax_f16_seq_cst_align2:
; LSE:       // %bb.0:
; LSE-NEXT:    fcvt s1, h0
; LSE-NEXT:    ldr h0, [x0]
; LSE-NEXT:  .LBB0_1: // %atomicrmw.start
; LSE-NEXT:    // =>This Inner Loop Header: Depth=1
; LSE-NEXT:    fcvt s2, h0
; LSE-NEXT:    fmov w8, s0
; LSE-NEXT:    mov w10, w8
; LSE-NEXT:    fmaxnm s2, s2, s1
; LSE-NEXT:    fcvt h2, s2
; LSE-NEXT:    fmov w9, s2
; LSE-NEXT:    casalh w10, w9, [x0]
; LSE-NEXT:    fmov s0, w10
; LSE-NEXT:    cmp w10, w8, uxth
; LSE-NEXT:    b.ne .LBB0_1
; LSE-NEXT:  // %bb.2: // %atomicrmw.end
; LSE-NEXT:    // kill: def $h0 killed $h0 killed $s0
; LSE-NEXT:    ret
;
; SOFTFP-NOLSE-LABEL: test_atomicrmw_fmax_f16_seq_cst_align2:
; SOFTFP-NOLSE:       // %bb.0:
; SOFTFP-NOLSE-NEXT:    str x30, [sp, #-48]! // 8-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    stp x20, x19, [sp, #32] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    mov x19, x0
; SOFTFP-NOLSE-NEXT:    ldrh w0, [x0]
; SOFTFP-NOLSE-NEXT:    mov w20, w1
; SOFTFP-NOLSE-NEXT:    stp x22, x21, [sp, #16] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    b .LBB0_2
; SOFTFP-NOLSE-NEXT:  .LBB0_1: // %cmpxchg.nostore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB0_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, wzr
; SOFTFP-NOLSE-NEXT:    clrex
; SOFTFP-NOLSE-NEXT:    cbnz w8, .LBB0_6
; SOFTFP-NOLSE-NEXT:  .LBB0_2: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // =>This Loop Header: Depth=1
; SOFTFP-NOLSE-NEXT:    // Child Loop BB0_3 Depth 2
; SOFTFP-NOLSE-NEXT:    mov w22, w0
; SOFTFP-NOLSE-NEXT:    and w0, w20, #0xffff
; SOFTFP-NOLSE-NEXT:    bl __extendhfsf2
; SOFTFP-NOLSE-NEXT:    mov w21, w0
; SOFTFP-NOLSE-NEXT:    and w0, w22, #0xffff
; SOFTFP-NOLSE-NEXT:    bl __extendhfsf2
; SOFTFP-NOLSE-NEXT:    mov w1, w21
; SOFTFP-NOLSE-NEXT:    bl fmaxf
; SOFTFP-NOLSE-NEXT:    bl __truncsfhf2
; SOFTFP-NOLSE-NEXT:    mov w8, w0
; SOFTFP-NOLSE-NEXT:  .LBB0_3: // %cmpxchg.start
; SOFTFP-NOLSE-NEXT:    // Parent Loop BB0_2 Depth=1
; SOFTFP-NOLSE-NEXT:    // => This Inner Loop Header: Depth=2
; SOFTFP-NOLSE-NEXT:    ldaxrh w0, [x19]
; SOFTFP-NOLSE-NEXT:    cmp w0, w22, uxth
; SOFTFP-NOLSE-NEXT:    b.ne .LBB0_1
; SOFTFP-NOLSE-NEXT:  // %bb.4: // %cmpxchg.trystore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB0_3 Depth=2
; SOFTFP-NOLSE-NEXT:    stlxrh w9, w8, [x19]
; SOFTFP-NOLSE-NEXT:    cbnz w9, .LBB0_3
; SOFTFP-NOLSE-NEXT:  // %bb.5: // in Loop: Header=BB0_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, #1 // =0x1
; SOFTFP-NOLSE-NEXT:    cbz w8, .LBB0_2
; SOFTFP-NOLSE-NEXT:  .LBB0_6: // %atomicrmw.end
; SOFTFP-NOLSE-NEXT:    ldp x20, x19, [sp, #32] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    // kill: def $w0 killed $w0 killed $x0
; SOFTFP-NOLSE-NEXT:    ldp x22, x21, [sp, #16] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldr x30, [sp], #48 // 8-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ret
  %res = atomicrmw fmax ptr %ptr, half %value seq_cst, align 2
  ret half %res
}

define half @test_atomicrmw_fmax_f16_seq_cst_align4(ptr %ptr, half %value) #0 {
; NOLSE-LABEL: test_atomicrmw_fmax_f16_seq_cst_align4:
; NOLSE:       // %bb.0:
; NOLSE-NEXT:    fcvt s1, h0
; NOLSE-NEXT:  .LBB1_1: // %atomicrmw.start
; NOLSE-NEXT:    // =>This Inner Loop Header: Depth=1
; NOLSE-NEXT:    ldaxrh w8, [x0]
; NOLSE-NEXT:    fmov s0, w8
; NOLSE-NEXT:    fcvt s2, h0
; NOLSE-NEXT:    fmaxnm s2, s2, s1
; NOLSE-NEXT:    fcvt h2, s2
; NOLSE-NEXT:    fmov w8, s2
; NOLSE-NEXT:    stlxrh w9, w8, [x0]
; NOLSE-NEXT:    cbnz w9, .LBB1_1
; NOLSE-NEXT:  // %bb.2: // %atomicrmw.end
; NOLSE-NEXT:    // kill: def $h0 killed $h0 killed $s0
; NOLSE-NEXT:    ret
;
; LSE-LABEL: test_atomicrmw_fmax_f16_seq_cst_align4:
; LSE:       // %bb.0:
; LSE-NEXT:    fcvt s1, h0
; LSE-NEXT:    ldr h0, [x0]
; LSE-NEXT:  .LBB1_1: // %atomicrmw.start
; LSE-NEXT:    // =>This Inner Loop Header: Depth=1
; LSE-NEXT:    fcvt s2, h0
; LSE-NEXT:    fmov w8, s0
; LSE-NEXT:    mov w10, w8
; LSE-NEXT:    fmaxnm s2, s2, s1
; LSE-NEXT:    fcvt h2, s2
; LSE-NEXT:    fmov w9, s2
; LSE-NEXT:    casalh w10, w9, [x0]
; LSE-NEXT:    fmov s0, w10
; LSE-NEXT:    cmp w10, w8, uxth
; LSE-NEXT:    b.ne .LBB1_1
; LSE-NEXT:  // %bb.2: // %atomicrmw.end
; LSE-NEXT:    // kill: def $h0 killed $h0 killed $s0
; LSE-NEXT:    ret
;
; SOFTFP-NOLSE-LABEL: test_atomicrmw_fmax_f16_seq_cst_align4:
; SOFTFP-NOLSE:       // %bb.0:
; SOFTFP-NOLSE-NEXT:    str x30, [sp, #-48]! // 8-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    stp x20, x19, [sp, #32] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    mov x19, x0
; SOFTFP-NOLSE-NEXT:    ldrh w0, [x0]
; SOFTFP-NOLSE-NEXT:    mov w20, w1
; SOFTFP-NOLSE-NEXT:    stp x22, x21, [sp, #16] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    b .LBB1_2
; SOFTFP-NOLSE-NEXT:  .LBB1_1: // %cmpxchg.nostore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB1_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, wzr
; SOFTFP-NOLSE-NEXT:    clrex
; SOFTFP-NOLSE-NEXT:    cbnz w8, .LBB1_6
; SOFTFP-NOLSE-NEXT:  .LBB1_2: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // =>This Loop Header: Depth=1
; SOFTFP-NOLSE-NEXT:    // Child Loop BB1_3 Depth 2
; SOFTFP-NOLSE-NEXT:    mov w22, w0
; SOFTFP-NOLSE-NEXT:    and w0, w20, #0xffff
; SOFTFP-NOLSE-NEXT:    bl __extendhfsf2
; SOFTFP-NOLSE-NEXT:    mov w21, w0
; SOFTFP-NOLSE-NEXT:    and w0, w22, #0xffff
; SOFTFP-NOLSE-NEXT:    bl __extendhfsf2
; SOFTFP-NOLSE-NEXT:    mov w1, w21
; SOFTFP-NOLSE-NEXT:    bl fmaxf
; SOFTFP-NOLSE-NEXT:    bl __truncsfhf2
; SOFTFP-NOLSE-NEXT:    mov w8, w0
; SOFTFP-NOLSE-NEXT:  .LBB1_3: // %cmpxchg.start
; SOFTFP-NOLSE-NEXT:    // Parent Loop BB1_2 Depth=1
; SOFTFP-NOLSE-NEXT:    // => This Inner Loop Header: Depth=2
; SOFTFP-NOLSE-NEXT:    ldaxrh w0, [x19]
; SOFTFP-NOLSE-NEXT:    cmp w0, w22, uxth
; SOFTFP-NOLSE-NEXT:    b.ne .LBB1_1
; SOFTFP-NOLSE-NEXT:  // %bb.4: // %cmpxchg.trystore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB1_3 Depth=2
; SOFTFP-NOLSE-NEXT:    stlxrh w9, w8, [x19]
; SOFTFP-NOLSE-NEXT:    cbnz w9, .LBB1_3
; SOFTFP-NOLSE-NEXT:  // %bb.5: // in Loop: Header=BB1_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, #1 // =0x1
; SOFTFP-NOLSE-NEXT:    cbz w8, .LBB1_2
; SOFTFP-NOLSE-NEXT:  .LBB1_6: // %atomicrmw.end
; SOFTFP-NOLSE-NEXT:    ldp x20, x19, [sp, #32] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    // kill: def $w0 killed $w0 killed $x0
; SOFTFP-NOLSE-NEXT:    ldp x22, x21, [sp, #16] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldr x30, [sp], #48 // 8-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ret
  %res = atomicrmw fmax ptr %ptr, half %value seq_cst, align 4
  ret half %res
}

define bfloat @test_atomicrmw_fmax_bf16_seq_cst_align2(ptr %ptr, bfloat %value) #0 {
; NOLSE-LABEL: test_atomicrmw_fmax_bf16_seq_cst_align2:
; NOLSE:       // %bb.0:
; NOLSE-NEXT:    // kill: def $h0 killed $h0 def $d0
; NOLSE-NEXT:    shll v1.4s, v0.4h, #16
; NOLSE-NEXT:    mov w8, #32767 // =0x7fff
; NOLSE-NEXT:  .LBB2_1: // %atomicrmw.start
; NOLSE-NEXT:    // =>This Inner Loop Header: Depth=1
; NOLSE-NEXT:    ldaxrh w9, [x0]
; NOLSE-NEXT:    fmov s0, w9
; NOLSE-NEXT:    shll v2.4s, v0.4h, #16
; NOLSE-NEXT:    fmaxnm s2, s2, s1
; NOLSE-NEXT:    fmov w9, s2
; NOLSE-NEXT:    ubfx w10, w9, #16, #1
; NOLSE-NEXT:    add w9, w9, w8
; NOLSE-NEXT:    add w9, w10, w9
; NOLSE-NEXT:    lsr w9, w9, #16
; NOLSE-NEXT:    stlxrh w10, w9, [x0]
; NOLSE-NEXT:    cbnz w10, .LBB2_1
; NOLSE-NEXT:  // %bb.2: // %atomicrmw.end
; NOLSE-NEXT:    // kill: def $h0 killed $h0 killed $d0
; NOLSE-NEXT:    ret
;
; LSE-LABEL: test_atomicrmw_fmax_bf16_seq_cst_align2:
; LSE:       // %bb.0:
; LSE-NEXT:    // kill: def $h0 killed $h0 def $d0
; LSE-NEXT:    shll v1.4s, v0.4h, #16
; LSE-NEXT:    mov w8, #32767 // =0x7fff
; LSE-NEXT:    ldr h0, [x0]
; LSE-NEXT:  .LBB2_1: // %atomicrmw.start
; LSE-NEXT:    // =>This Inner Loop Header: Depth=1
; LSE-NEXT:    shll v2.4s, v0.4h, #16
; LSE-NEXT:    fmaxnm s2, s2, s1
; LSE-NEXT:    fmov w9, s2
; LSE-NEXT:    ubfx w10, w9, #16, #1
; LSE-NEXT:    add w9, w9, w8
; LSE-NEXT:    add w9, w10, w9
; LSE-NEXT:    lsr w9, w9, #16
; LSE-NEXT:    fmov s2, w9
; LSE-NEXT:    fmov w9, s0
; LSE-NEXT:    fmov w10, s2
; LSE-NEXT:    mov w11, w9
; LSE-NEXT:    casalh w11, w10, [x0]
; LSE-NEXT:    fmov s0, w11
; LSE-NEXT:    cmp w11, w9, uxth
; LSE-NEXT:    b.ne .LBB2_1
; LSE-NEXT:  // %bb.2: // %atomicrmw.end
; LSE-NEXT:    // kill: def $h0 killed $h0 killed $d0
; LSE-NEXT:    ret
;
; SOFTFP-NOLSE-LABEL: test_atomicrmw_fmax_bf16_seq_cst_align2:
; SOFTFP-NOLSE:       // %bb.0:
; SOFTFP-NOLSE-NEXT:    stp x30, x21, [sp, #-32]! // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    stp x20, x19, [sp, #16] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    mov x19, x0
; SOFTFP-NOLSE-NEXT:    ldrh w0, [x0]
; SOFTFP-NOLSE-NEXT:    lsl w20, w1, #16
; SOFTFP-NOLSE-NEXT:    b .LBB2_2
; SOFTFP-NOLSE-NEXT:  .LBB2_1: // %cmpxchg.nostore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB2_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, wzr
; SOFTFP-NOLSE-NEXT:    clrex
; SOFTFP-NOLSE-NEXT:    cbnz w8, .LBB2_6
; SOFTFP-NOLSE-NEXT:  .LBB2_2: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // =>This Loop Header: Depth=1
; SOFTFP-NOLSE-NEXT:    // Child Loop BB2_3 Depth 2
; SOFTFP-NOLSE-NEXT:    mov w21, w0
; SOFTFP-NOLSE-NEXT:    lsl w0, w0, #16
; SOFTFP-NOLSE-NEXT:    mov w1, w20
; SOFTFP-NOLSE-NEXT:    bl fmaxf
; SOFTFP-NOLSE-NEXT:    bl __truncsfbf2
; SOFTFP-NOLSE-NEXT:    mov w8, w0
; SOFTFP-NOLSE-NEXT:  .LBB2_3: // %cmpxchg.start
; SOFTFP-NOLSE-NEXT:    // Parent Loop BB2_2 Depth=1
; SOFTFP-NOLSE-NEXT:    // => This Inner Loop Header: Depth=2
; SOFTFP-NOLSE-NEXT:    ldaxrh w0, [x19]
; SOFTFP-NOLSE-NEXT:    cmp w0, w21, uxth
; SOFTFP-NOLSE-NEXT:    b.ne .LBB2_1
; SOFTFP-NOLSE-NEXT:  // %bb.4: // %cmpxchg.trystore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB2_3 Depth=2
; SOFTFP-NOLSE-NEXT:    stlxrh w9, w8, [x19]
; SOFTFP-NOLSE-NEXT:    cbnz w9, .LBB2_3
; SOFTFP-NOLSE-NEXT:  // %bb.5: // in Loop: Header=BB2_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, #1 // =0x1
; SOFTFP-NOLSE-NEXT:    cbz w8, .LBB2_2
; SOFTFP-NOLSE-NEXT:  .LBB2_6: // %atomicrmw.end
; SOFTFP-NOLSE-NEXT:    ldp x20, x19, [sp, #16] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    // kill: def $w0 killed $w0 killed $x0
; SOFTFP-NOLSE-NEXT:    ldp x30, x21, [sp], #32 // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ret
  %res = atomicrmw fmax ptr %ptr, bfloat %value seq_cst, align 2
  ret bfloat %res
}

define bfloat @test_atomicrmw_fmax_bf16_seq_cst_align4(ptr %ptr, bfloat %value) #0 {
; NOLSE-LABEL: test_atomicrmw_fmax_bf16_seq_cst_align4:
; NOLSE:       // %bb.0:
; NOLSE-NEXT:    // kill: def $h0 killed $h0 def $d0
; NOLSE-NEXT:    shll v1.4s, v0.4h, #16
; NOLSE-NEXT:    mov w8, #32767 // =0x7fff
; NOLSE-NEXT:  .LBB3_1: // %atomicrmw.start
; NOLSE-NEXT:    // =>This Inner Loop Header: Depth=1
; NOLSE-NEXT:    ldaxrh w9, [x0]
; NOLSE-NEXT:    fmov s0, w9
; NOLSE-NEXT:    shll v2.4s, v0.4h, #16
; NOLSE-NEXT:    fmaxnm s2, s2, s1
; NOLSE-NEXT:    fmov w9, s2
; NOLSE-NEXT:    ubfx w10, w9, #16, #1
; NOLSE-NEXT:    add w9, w9, w8
; NOLSE-NEXT:    add w9, w10, w9
; NOLSE-NEXT:    lsr w9, w9, #16
; NOLSE-NEXT:    stlxrh w10, w9, [x0]
; NOLSE-NEXT:    cbnz w10, .LBB3_1
; NOLSE-NEXT:  // %bb.2: // %atomicrmw.end
; NOLSE-NEXT:    // kill: def $h0 killed $h0 killed $d0
; NOLSE-NEXT:    ret
;
; LSE-LABEL: test_atomicrmw_fmax_bf16_seq_cst_align4:
; LSE:       // %bb.0:
; LSE-NEXT:    // kill: def $h0 killed $h0 def $d0
; LSE-NEXT:    shll v1.4s, v0.4h, #16
; LSE-NEXT:    mov w8, #32767 // =0x7fff
; LSE-NEXT:    ldr h0, [x0]
; LSE-NEXT:  .LBB3_1: // %atomicrmw.start
; LSE-NEXT:    // =>This Inner Loop Header: Depth=1
; LSE-NEXT:    shll v2.4s, v0.4h, #16
; LSE-NEXT:    fmaxnm s2, s2, s1
; LSE-NEXT:    fmov w9, s2
; LSE-NEXT:    ubfx w10, w9, #16, #1
; LSE-NEXT:    add w9, w9, w8
; LSE-NEXT:    add w9, w10, w9
; LSE-NEXT:    lsr w9, w9, #16
; LSE-NEXT:    fmov s2, w9
; LSE-NEXT:    fmov w9, s0
; LSE-NEXT:    fmov w10, s2
; LSE-NEXT:    mov w11, w9
; LSE-NEXT:    casalh w11, w10, [x0]
; LSE-NEXT:    fmov s0, w11
; LSE-NEXT:    cmp w11, w9, uxth
; LSE-NEXT:    b.ne .LBB3_1
; LSE-NEXT:  // %bb.2: // %atomicrmw.end
; LSE-NEXT:    // kill: def $h0 killed $h0 killed $d0
; LSE-NEXT:    ret
;
; SOFTFP-NOLSE-LABEL: test_atomicrmw_fmax_bf16_seq_cst_align4:
; SOFTFP-NOLSE:       // %bb.0:
; SOFTFP-NOLSE-NEXT:    stp x30, x21, [sp, #-32]! // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    stp x20, x19, [sp, #16] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    mov x19, x0
; SOFTFP-NOLSE-NEXT:    ldrh w0, [x0]
; SOFTFP-NOLSE-NEXT:    lsl w20, w1, #16
; SOFTFP-NOLSE-NEXT:    b .LBB3_2
; SOFTFP-NOLSE-NEXT:  .LBB3_1: // %cmpxchg.nostore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB3_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, wzr
; SOFTFP-NOLSE-NEXT:    clrex
; SOFTFP-NOLSE-NEXT:    cbnz w8, .LBB3_6
; SOFTFP-NOLSE-NEXT:  .LBB3_2: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // =>This Loop Header: Depth=1
; SOFTFP-NOLSE-NEXT:    // Child Loop BB3_3 Depth 2
; SOFTFP-NOLSE-NEXT:    mov w21, w0
; SOFTFP-NOLSE-NEXT:    lsl w0, w0, #16
; SOFTFP-NOLSE-NEXT:    mov w1, w20
; SOFTFP-NOLSE-NEXT:    bl fmaxf
; SOFTFP-NOLSE-NEXT:    bl __truncsfbf2
; SOFTFP-NOLSE-NEXT:    mov w8, w0
; SOFTFP-NOLSE-NEXT:  .LBB3_3: // %cmpxchg.start
; SOFTFP-NOLSE-NEXT:    // Parent Loop BB3_2 Depth=1
; SOFTFP-NOLSE-NEXT:    // => This Inner Loop Header: Depth=2
; SOFTFP-NOLSE-NEXT:    ldaxrh w0, [x19]
; SOFTFP-NOLSE-NEXT:    cmp w0, w21, uxth
; SOFTFP-NOLSE-NEXT:    b.ne .LBB3_1
; SOFTFP-NOLSE-NEXT:  // %bb.4: // %cmpxchg.trystore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB3_3 Depth=2
; SOFTFP-NOLSE-NEXT:    stlxrh w9, w8, [x19]
; SOFTFP-NOLSE-NEXT:    cbnz w9, .LBB3_3
; SOFTFP-NOLSE-NEXT:  // %bb.5: // in Loop: Header=BB3_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, #1 // =0x1
; SOFTFP-NOLSE-NEXT:    cbz w8, .LBB3_2
; SOFTFP-NOLSE-NEXT:  .LBB3_6: // %atomicrmw.end
; SOFTFP-NOLSE-NEXT:    ldp x20, x19, [sp, #16] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    // kill: def $w0 killed $w0 killed $x0
; SOFTFP-NOLSE-NEXT:    ldp x30, x21, [sp], #32 // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ret
  %res = atomicrmw fmax ptr %ptr, bfloat %value seq_cst, align 4
  ret bfloat %res
}

define float @test_atomicrmw_fmax_f32_seq_cst_align4(ptr %ptr, float %value) #0 {
; NOLSE-LABEL: test_atomicrmw_fmax_f32_seq_cst_align4:
; NOLSE:       // %bb.0:
; NOLSE-NEXT:  .LBB4_1: // %atomicrmw.start
; NOLSE-NEXT:    // =>This Inner Loop Header: Depth=1
; NOLSE-NEXT:    ldaxr w8, [x0]
; NOLSE-NEXT:    fmov s1, w8
; NOLSE-NEXT:    fmaxnm s2, s1, s0
; NOLSE-NEXT:    fmov w8, s2
; NOLSE-NEXT:    stlxr w9, w8, [x0]
; NOLSE-NEXT:    cbnz w9, .LBB4_1
; NOLSE-NEXT:  // %bb.2: // %atomicrmw.end
; NOLSE-NEXT:    fmov s0, s1
; NOLSE-NEXT:    ret
;
; LSE-LABEL: test_atomicrmw_fmax_f32_seq_cst_align4:
; LSE:       // %bb.0:
; LSE-NEXT:    ldr s1, [x0]
; LSE-NEXT:  .LBB4_1: // %atomicrmw.start
; LSE-NEXT:    // =>This Inner Loop Header: Depth=1
; LSE-NEXT:    fmaxnm s2, s1, s0
; LSE-NEXT:    fmov w8, s1
; LSE-NEXT:    mov w10, w8
; LSE-NEXT:    fmov w9, s2
; LSE-NEXT:    casal w10, w9, [x0]
; LSE-NEXT:    fmov s1, w10
; LSE-NEXT:    cmp w10, w8
; LSE-NEXT:    b.ne .LBB4_1
; LSE-NEXT:  // %bb.2: // %atomicrmw.end
; LSE-NEXT:    fmov s0, s1
; LSE-NEXT:    ret
;
; SOFTFP-NOLSE-LABEL: test_atomicrmw_fmax_f32_seq_cst_align4:
; SOFTFP-NOLSE:       // %bb.0:
; SOFTFP-NOLSE-NEXT:    stp x30, x21, [sp, #-32]! // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    stp x20, x19, [sp, #16] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    mov x19, x0
; SOFTFP-NOLSE-NEXT:    ldr w0, [x0]
; SOFTFP-NOLSE-NEXT:    mov w20, w1
; SOFTFP-NOLSE-NEXT:    b .LBB4_2
; SOFTFP-NOLSE-NEXT:  .LBB4_1: // %cmpxchg.nostore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB4_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, wzr
; SOFTFP-NOLSE-NEXT:    clrex
; SOFTFP-NOLSE-NEXT:    cbnz w8, .LBB4_6
; SOFTFP-NOLSE-NEXT:  .LBB4_2: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // =>This Loop Header: Depth=1
; SOFTFP-NOLSE-NEXT:    // Child Loop BB4_3 Depth 2
; SOFTFP-NOLSE-NEXT:    mov w1, w20
; SOFTFP-NOLSE-NEXT:    mov w21, w0
; SOFTFP-NOLSE-NEXT:    bl fmaxf
; SOFTFP-NOLSE-NEXT:    mov w8, w0
; SOFTFP-NOLSE-NEXT:  .LBB4_3: // %cmpxchg.start
; SOFTFP-NOLSE-NEXT:    // Parent Loop BB4_2 Depth=1
; SOFTFP-NOLSE-NEXT:    // => This Inner Loop Header: Depth=2
; SOFTFP-NOLSE-NEXT:    ldaxr w0, [x19]
; SOFTFP-NOLSE-NEXT:    cmp w0, w21
; SOFTFP-NOLSE-NEXT:    b.ne .LBB4_1
; SOFTFP-NOLSE-NEXT:  // %bb.4: // %cmpxchg.trystore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB4_3 Depth=2
; SOFTFP-NOLSE-NEXT:    stlxr w9, w8, [x19]
; SOFTFP-NOLSE-NEXT:    cbnz w9, .LBB4_3
; SOFTFP-NOLSE-NEXT:  // %bb.5: // in Loop: Header=BB4_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, #1 // =0x1
; SOFTFP-NOLSE-NEXT:    cbz w8, .LBB4_2
; SOFTFP-NOLSE-NEXT:  .LBB4_6: // %atomicrmw.end
; SOFTFP-NOLSE-NEXT:    ldp x20, x19, [sp, #16] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    // kill: def $w0 killed $w0 killed $x0
; SOFTFP-NOLSE-NEXT:    ldp x30, x21, [sp], #32 // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ret
  %res = atomicrmw fmax ptr %ptr, float %value seq_cst, align 4
  ret float %res
}

define double @test_atomicrmw_fmax_f32_seq_cst_align8(ptr %ptr, double %value) #0 {
; NOLSE-LABEL: test_atomicrmw_fmax_f32_seq_cst_align8:
; NOLSE:       // %bb.0:
; NOLSE-NEXT:  .LBB5_1: // %atomicrmw.start
; NOLSE-NEXT:    // =>This Inner Loop Header: Depth=1
; NOLSE-NEXT:    ldaxr x8, [x0]
; NOLSE-NEXT:    fmov d1, x8
; NOLSE-NEXT:    fmaxnm d2, d1, d0
; NOLSE-NEXT:    fmov x8, d2
; NOLSE-NEXT:    stlxr w9, x8, [x0]
; NOLSE-NEXT:    cbnz w9, .LBB5_1
; NOLSE-NEXT:  // %bb.2: // %atomicrmw.end
; NOLSE-NEXT:    fmov d0, d1
; NOLSE-NEXT:    ret
;
; LSE-LABEL: test_atomicrmw_fmax_f32_seq_cst_align8:
; LSE:       // %bb.0:
; LSE-NEXT:    ldr d1, [x0]
; LSE-NEXT:  .LBB5_1: // %atomicrmw.start
; LSE-NEXT:    // =>This Inner Loop Header: Depth=1
; LSE-NEXT:    fmaxnm d2, d1, d0
; LSE-NEXT:    fmov x8, d1
; LSE-NEXT:    mov x10, x8
; LSE-NEXT:    fmov x9, d2
; LSE-NEXT:    casal x10, x9, [x0]
; LSE-NEXT:    fmov d1, x10
; LSE-NEXT:    cmp x10, x8
; LSE-NEXT:    b.ne .LBB5_1
; LSE-NEXT:  // %bb.2: // %atomicrmw.end
; LSE-NEXT:    fmov d0, d1
; LSE-NEXT:    ret
;
; SOFTFP-NOLSE-LABEL: test_atomicrmw_fmax_f32_seq_cst_align8:
; SOFTFP-NOLSE:       // %bb.0:
; SOFTFP-NOLSE-NEXT:    stp x30, x21, [sp, #-32]! // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    stp x20, x19, [sp, #16] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    mov x19, x0
; SOFTFP-NOLSE-NEXT:    ldr x0, [x0]
; SOFTFP-NOLSE-NEXT:    mov x20, x1
; SOFTFP-NOLSE-NEXT:    b .LBB5_2
; SOFTFP-NOLSE-NEXT:  .LBB5_1: // %cmpxchg.nostore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB5_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, wzr
; SOFTFP-NOLSE-NEXT:    clrex
; SOFTFP-NOLSE-NEXT:    cbnz w8, .LBB5_6
; SOFTFP-NOLSE-NEXT:  .LBB5_2: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // =>This Loop Header: Depth=1
; SOFTFP-NOLSE-NEXT:    // Child Loop BB5_3 Depth 2
; SOFTFP-NOLSE-NEXT:    mov x1, x20
; SOFTFP-NOLSE-NEXT:    mov x21, x0
; SOFTFP-NOLSE-NEXT:    bl fmax
; SOFTFP-NOLSE-NEXT:    mov x8, x0
; SOFTFP-NOLSE-NEXT:  .LBB5_3: // %cmpxchg.start
; SOFTFP-NOLSE-NEXT:    // Parent Loop BB5_2 Depth=1
; SOFTFP-NOLSE-NEXT:    // => This Inner Loop Header: Depth=2
; SOFTFP-NOLSE-NEXT:    ldaxr x0, [x19]
; SOFTFP-NOLSE-NEXT:    cmp x0, x21
; SOFTFP-NOLSE-NEXT:    b.ne .LBB5_1
; SOFTFP-NOLSE-NEXT:  // %bb.4: // %cmpxchg.trystore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB5_3 Depth=2
; SOFTFP-NOLSE-NEXT:    stlxr w9, x8, [x19]
; SOFTFP-NOLSE-NEXT:    cbnz w9, .LBB5_3
; SOFTFP-NOLSE-NEXT:  // %bb.5: // in Loop: Header=BB5_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, #1 // =0x1
; SOFTFP-NOLSE-NEXT:    cbz w8, .LBB5_2
; SOFTFP-NOLSE-NEXT:  .LBB5_6: // %atomicrmw.end
; SOFTFP-NOLSE-NEXT:    ldp x20, x19, [sp, #16] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldp x30, x21, [sp], #32 // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ret
  %res = atomicrmw fmax ptr %ptr, double %value seq_cst, align 8
  ret double %res
}

define <2 x half> @test_atomicrmw_fmax_v2f16_seq_cst_align4(ptr %ptr, <2 x half> %value) #0 {
; NOLSE-LABEL: test_atomicrmw_fmax_v2f16_seq_cst_align4:
; NOLSE:       // %bb.0:
; NOLSE-NEXT:    // kill: def $d0 killed $d0 def $q0
; NOLSE-NEXT:    mov h1, v0.h[1]
; NOLSE-NEXT:    fcvt s0, h0
; NOLSE-NEXT:    fcvt s1, h1
; NOLSE-NEXT:  .LBB6_1: // %atomicrmw.start
; NOLSE-NEXT:    // =>This Inner Loop Header: Depth=1
; NOLSE-NEXT:    ldaxr w8, [x0]
; NOLSE-NEXT:    fmov s2, w8
; NOLSE-NEXT:    mov h3, v2.h[1]
; NOLSE-NEXT:    fcvt s2, h2
; NOLSE-NEXT:    fcvt s3, h3
; NOLSE-NEXT:    fmaxnm s2, s2, s0
; NOLSE-NEXT:    fmaxnm s3, s3, s1
; NOLSE-NEXT:    fcvt h2, s2
; NOLSE-NEXT:    fcvt h3, s3
; NOLSE-NEXT:    mov v2.h[1], v3.h[0]
; NOLSE-NEXT:    fmov w9, s2
; NOLSE-NEXT:    stlxr w10, w9, [x0]
; NOLSE-NEXT:    cbnz w10, .LBB6_1
; NOLSE-NEXT:  // %bb.2: // %atomicrmw.end
; NOLSE-NEXT:    fmov d0, x8
; NOLSE-NEXT:    ret
;
; LSE-LABEL: test_atomicrmw_fmax_v2f16_seq_cst_align4:
; LSE:       // %bb.0:
; LSE-NEXT:    // kill: def $d0 killed $d0 def $q0
; LSE-NEXT:    mov h1, v0.h[1]
; LSE-NEXT:    fcvt s2, h0
; LSE-NEXT:    ldr s0, [x0]
; LSE-NEXT:    fcvt s1, h1
; LSE-NEXT:  .LBB6_1: // %atomicrmw.start
; LSE-NEXT:    // =>This Inner Loop Header: Depth=1
; LSE-NEXT:    mov h3, v0.h[1]
; LSE-NEXT:    fcvt s4, h0
; LSE-NEXT:    fmov w8, s0
; LSE-NEXT:    mov w10, w8
; LSE-NEXT:    fcvt s3, h3
; LSE-NEXT:    fmaxnm s4, s4, s2
; LSE-NEXT:    fmaxnm s3, s3, s1
; LSE-NEXT:    fcvt h4, s4
; LSE-NEXT:    fcvt h3, s3
; LSE-NEXT:    mov v4.h[1], v3.h[0]
; LSE-NEXT:    fmov w9, s4
; LSE-NEXT:    casal w10, w9, [x0]
; LSE-NEXT:    fmov s0, w10
; LSE-NEXT:    cmp w10, w8
; LSE-NEXT:    b.ne .LBB6_1
; LSE-NEXT:  // %bb.2: // %atomicrmw.end
; LSE-NEXT:    // kill: def $d0 killed $d0 killed $q0
; LSE-NEXT:    ret
;
; SOFTFP-NOLSE-LABEL: test_atomicrmw_fmax_v2f16_seq_cst_align4:
; SOFTFP-NOLSE:       // %bb.0:
; SOFTFP-NOLSE-NEXT:    stp x30, x25, [sp, #-64]! // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    stp x24, x23, [sp, #16] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    ldrh w23, [x0, #2]
; SOFTFP-NOLSE-NEXT:    stp x22, x21, [sp, #32] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    ldrh w22, [x0]
; SOFTFP-NOLSE-NEXT:    mov w21, w1
; SOFTFP-NOLSE-NEXT:    stp x20, x19, [sp, #48] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    mov w19, w2
; SOFTFP-NOLSE-NEXT:    mov x20, x0
; SOFTFP-NOLSE-NEXT:    b .LBB6_2
; SOFTFP-NOLSE-NEXT:  .LBB6_1: // %cmpxchg.nostore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB6_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, wzr
; SOFTFP-NOLSE-NEXT:    clrex
; SOFTFP-NOLSE-NEXT:    lsr w23, w22, #16
; SOFTFP-NOLSE-NEXT:    cbnz w8, .LBB6_6
; SOFTFP-NOLSE-NEXT:  .LBB6_2: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // =>This Loop Header: Depth=1
; SOFTFP-NOLSE-NEXT:    // Child Loop BB6_3 Depth 2
; SOFTFP-NOLSE-NEXT:    and w0, w19, #0xffff
; SOFTFP-NOLSE-NEXT:    bl __extendhfsf2
; SOFTFP-NOLSE-NEXT:    mov w24, w0
; SOFTFP-NOLSE-NEXT:    and w0, w23, #0xffff
; SOFTFP-NOLSE-NEXT:    bl __extendhfsf2
; SOFTFP-NOLSE-NEXT:    mov w1, w24
; SOFTFP-NOLSE-NEXT:    bl fmaxf
; SOFTFP-NOLSE-NEXT:    bl __truncsfhf2
; SOFTFP-NOLSE-NEXT:    mov w24, w0
; SOFTFP-NOLSE-NEXT:    and w0, w21, #0xffff
; SOFTFP-NOLSE-NEXT:    bl __extendhfsf2
; SOFTFP-NOLSE-NEXT:    mov w25, w0
; SOFTFP-NOLSE-NEXT:    and w0, w22, #0xffff
; SOFTFP-NOLSE-NEXT:    bl __extendhfsf2
; SOFTFP-NOLSE-NEXT:    mov w1, w25
; SOFTFP-NOLSE-NEXT:    bl fmaxf
; SOFTFP-NOLSE-NEXT:    bl __truncsfhf2
; SOFTFP-NOLSE-NEXT:    mov w8, w22
; SOFTFP-NOLSE-NEXT:    bfi w0, w24, #16, #16
; SOFTFP-NOLSE-NEXT:    bfi w8, w23, #16, #16
; SOFTFP-NOLSE-NEXT:  .LBB6_3: // %cmpxchg.start
; SOFTFP-NOLSE-NEXT:    // Parent Loop BB6_2 Depth=1
; SOFTFP-NOLSE-NEXT:    // => This Inner Loop Header: Depth=2
; SOFTFP-NOLSE-NEXT:    ldaxr w22, [x20]
; SOFTFP-NOLSE-NEXT:    cmp w22, w8
; SOFTFP-NOLSE-NEXT:    b.ne .LBB6_1
; SOFTFP-NOLSE-NEXT:  // %bb.4: // %cmpxchg.trystore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB6_3 Depth=2
; SOFTFP-NOLSE-NEXT:    stlxr w9, w0, [x20]
; SOFTFP-NOLSE-NEXT:    cbnz w9, .LBB6_3
; SOFTFP-NOLSE-NEXT:  // %bb.5: // in Loop: Header=BB6_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, #1 // =0x1
; SOFTFP-NOLSE-NEXT:    lsr w23, w22, #16
; SOFTFP-NOLSE-NEXT:    cbz w8, .LBB6_2
; SOFTFP-NOLSE-NEXT:  .LBB6_6: // %atomicrmw.end
; SOFTFP-NOLSE-NEXT:    mov w0, w22
; SOFTFP-NOLSE-NEXT:    mov w1, w23
; SOFTFP-NOLSE-NEXT:    ldp x20, x19, [sp, #48] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldp x22, x21, [sp, #32] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldp x24, x23, [sp, #16] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldp x30, x25, [sp], #64 // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ret
  %res = atomicrmw fmax ptr %ptr, <2 x half> %value seq_cst, align 4
  ret <2 x half> %res
}

define <2 x bfloat> @test_atomicrmw_fmax_v2bf16_seq_cst_align4(ptr %ptr, <2 x bfloat> %value) #0 {
; NOLSE-LABEL: test_atomicrmw_fmax_v2bf16_seq_cst_align4:
; NOLSE:       // %bb.0:
; NOLSE-NEXT:    // kill: def $d0 killed $d0 def $q0
; NOLSE-NEXT:    mov h1, v0.h[1]
; NOLSE-NEXT:    mov w8, #32767 // =0x7fff
; NOLSE-NEXT:    shll v0.4s, v0.4h, #16
; NOLSE-NEXT:    shll v1.4s, v1.4h, #16
; NOLSE-NEXT:  .LBB7_1: // %atomicrmw.start
; NOLSE-NEXT:    // =>This Inner Loop Header: Depth=1
; NOLSE-NEXT:    ldaxr w9, [x0]
; NOLSE-NEXT:    fmov s2, w9
; NOLSE-NEXT:    mov h3, v2.h[1]
; NOLSE-NEXT:    shll v2.4s, v2.4h, #16
; NOLSE-NEXT:    fmaxnm s2, s2, s0
; NOLSE-NEXT:    shll v3.4s, v3.4h, #16
; NOLSE-NEXT:    fmaxnm s3, s3, s1
; NOLSE-NEXT:    fmov w11, s2
; NOLSE-NEXT:    ubfx w13, w11, #16, #1
; NOLSE-NEXT:    add w11, w11, w8
; NOLSE-NEXT:    fmov w10, s3
; NOLSE-NEXT:    add w11, w13, w11
; NOLSE-NEXT:    lsr w11, w11, #16
; NOLSE-NEXT:    ubfx w12, w10, #16, #1
; NOLSE-NEXT:    add w10, w10, w8
; NOLSE-NEXT:    fmov s3, w11
; NOLSE-NEXT:    add w10, w12, w10
; NOLSE-NEXT:    lsr w10, w10, #16
; NOLSE-NEXT:    fmov s2, w10
; NOLSE-NEXT:    mov v3.h[1], v2.h[0]
; NOLSE-NEXT:    fmov w10, s3
; NOLSE-NEXT:    stlxr w11, w10, [x0]
; NOLSE-NEXT:    cbnz w11, .LBB7_1
; NOLSE-NEXT:  // %bb.2: // %atomicrmw.end
; NOLSE-NEXT:    fmov d0, x9
; NOLSE-NEXT:    ret
;
; LSE-LABEL: test_atomicrmw_fmax_v2bf16_seq_cst_align4:
; LSE:       // %bb.0:
; LSE-NEXT:    // kill: def $d0 killed $d0 def $q0
; LSE-NEXT:    mov h1, v0.h[1]
; LSE-NEXT:    shll v2.4s, v0.4h, #16
; LSE-NEXT:    mov w8, #32767 // =0x7fff
; LSE-NEXT:    ldr s0, [x0]
; LSE-NEXT:    shll v1.4s, v1.4h, #16
; LSE-NEXT:  .LBB7_1: // %atomicrmw.start
; LSE-NEXT:    // =>This Inner Loop Header: Depth=1
; LSE-NEXT:    mov h3, v0.h[1]
; LSE-NEXT:    shll v4.4s, v0.4h, #16
; LSE-NEXT:    fmaxnm s4, s4, s2
; LSE-NEXT:    shll v3.4s, v3.4h, #16
; LSE-NEXT:    fmaxnm s3, s3, s1
; LSE-NEXT:    fmov w10, s4
; LSE-NEXT:    ubfx w12, w10, #16, #1
; LSE-NEXT:    add w10, w10, w8
; LSE-NEXT:    fmov w9, s3
; LSE-NEXT:    add w10, w12, w10
; LSE-NEXT:    lsr w10, w10, #16
; LSE-NEXT:    ubfx w11, w9, #16, #1
; LSE-NEXT:    add w9, w9, w8
; LSE-NEXT:    fmov s4, w10
; LSE-NEXT:    add w9, w11, w9
; LSE-NEXT:    lsr w9, w9, #16
; LSE-NEXT:    fmov s3, w9
; LSE-NEXT:    fmov w9, s0
; LSE-NEXT:    mov v4.h[1], v3.h[0]
; LSE-NEXT:    mov w11, w9
; LSE-NEXT:    fmov w10, s4
; LSE-NEXT:    casal w11, w10, [x0]
; LSE-NEXT:    fmov s0, w11
; LSE-NEXT:    cmp w11, w9
; LSE-NEXT:    b.ne .LBB7_1
; LSE-NEXT:  // %bb.2: // %atomicrmw.end
; LSE-NEXT:    // kill: def $d0 killed $d0 killed $q0
; LSE-NEXT:    ret
;
; SOFTFP-NOLSE-LABEL: test_atomicrmw_fmax_v2bf16_seq_cst_align4:
; SOFTFP-NOLSE:       // %bb.0:
; SOFTFP-NOLSE-NEXT:    str x30, [sp, #-64]! // 8-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    mov w8, w1
; SOFTFP-NOLSE-NEXT:    stp x22, x21, [sp, #32] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    ldrh w1, [x0, #2]
; SOFTFP-NOLSE-NEXT:    stp x20, x19, [sp, #48] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    ldrh w22, [x0]
; SOFTFP-NOLSE-NEXT:    lsl w20, w2, #16
; SOFTFP-NOLSE-NEXT:    lsl w21, w8, #16
; SOFTFP-NOLSE-NEXT:    mov x19, x0
; SOFTFP-NOLSE-NEXT:    stp x24, x23, [sp, #16] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    b .LBB7_2
; SOFTFP-NOLSE-NEXT:  .LBB7_1: // %cmpxchg.nostore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB7_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, wzr
; SOFTFP-NOLSE-NEXT:    clrex
; SOFTFP-NOLSE-NEXT:    lsr w1, w22, #16
; SOFTFP-NOLSE-NEXT:    cbnz w8, .LBB7_6
; SOFTFP-NOLSE-NEXT:  .LBB7_2: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // =>This Loop Header: Depth=1
; SOFTFP-NOLSE-NEXT:    // Child Loop BB7_3 Depth 2
; SOFTFP-NOLSE-NEXT:    lsl w23, w1, #16
; SOFTFP-NOLSE-NEXT:    mov w1, w20
; SOFTFP-NOLSE-NEXT:    mov w0, w23
; SOFTFP-NOLSE-NEXT:    bl fmaxf
; SOFTFP-NOLSE-NEXT:    bl __truncsfbf2
; SOFTFP-NOLSE-NEXT:    mov w24, w0
; SOFTFP-NOLSE-NEXT:    lsl w0, w22, #16
; SOFTFP-NOLSE-NEXT:    mov w1, w21
; SOFTFP-NOLSE-NEXT:    bl fmaxf
; SOFTFP-NOLSE-NEXT:    bl __truncsfbf2
; SOFTFP-NOLSE-NEXT:    bfxil w23, w22, #0, #16
; SOFTFP-NOLSE-NEXT:    bfi w0, w24, #16, #16
; SOFTFP-NOLSE-NEXT:  .LBB7_3: // %cmpxchg.start
; SOFTFP-NOLSE-NEXT:    // Parent Loop BB7_2 Depth=1
; SOFTFP-NOLSE-NEXT:    // => This Inner Loop Header: Depth=2
; SOFTFP-NOLSE-NEXT:    ldaxr w22, [x19]
; SOFTFP-NOLSE-NEXT:    cmp w22, w23
; SOFTFP-NOLSE-NEXT:    b.ne .LBB7_1
; SOFTFP-NOLSE-NEXT:  // %bb.4: // %cmpxchg.trystore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB7_3 Depth=2
; SOFTFP-NOLSE-NEXT:    stlxr w8, w0, [x19]
; SOFTFP-NOLSE-NEXT:    cbnz w8, .LBB7_3
; SOFTFP-NOLSE-NEXT:  // %bb.5: // in Loop: Header=BB7_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, #1 // =0x1
; SOFTFP-NOLSE-NEXT:    lsr w1, w22, #16
; SOFTFP-NOLSE-NEXT:    cbz w8, .LBB7_2
; SOFTFP-NOLSE-NEXT:  .LBB7_6: // %atomicrmw.end
; SOFTFP-NOLSE-NEXT:    mov w0, w22
; SOFTFP-NOLSE-NEXT:    ldp x20, x19, [sp, #48] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldp x22, x21, [sp, #32] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldp x24, x23, [sp, #16] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldr x30, [sp], #64 // 8-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ret
  %res = atomicrmw fmax ptr %ptr, <2 x bfloat> %value seq_cst, align 4
  ret <2 x bfloat> %res
}

define <2 x float> @test_atomicrmw_fmax_v2f32_seq_cst_align8(ptr %ptr, <2 x float> %value) #0 {
; NOLSE-LABEL: test_atomicrmw_fmax_v2f32_seq_cst_align8:
; NOLSE:       // %bb.0:
; NOLSE-NEXT:  .LBB8_1: // %atomicrmw.start
; NOLSE-NEXT:    // =>This Inner Loop Header: Depth=1
; NOLSE-NEXT:    ldaxr x8, [x0]
; NOLSE-NEXT:    fmov d1, x8
; NOLSE-NEXT:    fmaxnm v2.2s, v1.2s, v0.2s
; NOLSE-NEXT:    fmov x8, d2
; NOLSE-NEXT:    stlxr w9, x8, [x0]
; NOLSE-NEXT:    cbnz w9, .LBB8_1
; NOLSE-NEXT:  // %bb.2: // %atomicrmw.end
; NOLSE-NEXT:    fmov d0, d1
; NOLSE-NEXT:    ret
;
; LSE-LABEL: test_atomicrmw_fmax_v2f32_seq_cst_align8:
; LSE:       // %bb.0:
; LSE-NEXT:    ldr d1, [x0]
; LSE-NEXT:  .LBB8_1: // %atomicrmw.start
; LSE-NEXT:    // =>This Inner Loop Header: Depth=1
; LSE-NEXT:    fmaxnm v2.2s, v1.2s, v0.2s
; LSE-NEXT:    fmov x8, d1
; LSE-NEXT:    mov x10, x8
; LSE-NEXT:    fmov x9, d2
; LSE-NEXT:    casal x10, x9, [x0]
; LSE-NEXT:    fmov d1, x10
; LSE-NEXT:    cmp x10, x8
; LSE-NEXT:    b.ne .LBB8_1
; LSE-NEXT:  // %bb.2: // %atomicrmw.end
; LSE-NEXT:    fmov d0, d1
; LSE-NEXT:    ret
;
; SOFTFP-NOLSE-LABEL: test_atomicrmw_fmax_v2f32_seq_cst_align8:
; SOFTFP-NOLSE:       // %bb.0:
; SOFTFP-NOLSE-NEXT:    str x30, [sp, #-64]! // 8-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    stp x24, x23, [sp, #16] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    stp x22, x21, [sp, #32] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    mov w21, w1
; SOFTFP-NOLSE-NEXT:    ldp w22, w23, [x0]
; SOFTFP-NOLSE-NEXT:    stp x20, x19, [sp, #48] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    mov w19, w2
; SOFTFP-NOLSE-NEXT:    mov x20, x0
; SOFTFP-NOLSE-NEXT:    b .LBB8_2
; SOFTFP-NOLSE-NEXT:  .LBB8_1: // %cmpxchg.nostore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB8_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, wzr
; SOFTFP-NOLSE-NEXT:    clrex
; SOFTFP-NOLSE-NEXT:    lsr x23, x22, #32
; SOFTFP-NOLSE-NEXT:    cbnz w8, .LBB8_6
; SOFTFP-NOLSE-NEXT:  .LBB8_2: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // =>This Loop Header: Depth=1
; SOFTFP-NOLSE-NEXT:    // Child Loop BB8_3 Depth 2
; SOFTFP-NOLSE-NEXT:    mov w0, w23
; SOFTFP-NOLSE-NEXT:    mov w1, w19
; SOFTFP-NOLSE-NEXT:    bl fmaxf
; SOFTFP-NOLSE-NEXT:    mov w24, w0
; SOFTFP-NOLSE-NEXT:    mov w0, w22
; SOFTFP-NOLSE-NEXT:    mov w1, w21
; SOFTFP-NOLSE-NEXT:    bl fmaxf
; SOFTFP-NOLSE-NEXT:    mov w8, w0
; SOFTFP-NOLSE-NEXT:    mov w9, w22
; SOFTFP-NOLSE-NEXT:    // kill: def $w23 killed $w23 killed $x23 def $x23
; SOFTFP-NOLSE-NEXT:    orr x8, x8, x24, lsl #32
; SOFTFP-NOLSE-NEXT:    orr x9, x9, x23, lsl #32
; SOFTFP-NOLSE-NEXT:  .LBB8_3: // %cmpxchg.start
; SOFTFP-NOLSE-NEXT:    // Parent Loop BB8_2 Depth=1
; SOFTFP-NOLSE-NEXT:    // => This Inner Loop Header: Depth=2
; SOFTFP-NOLSE-NEXT:    ldaxr x22, [x20]
; SOFTFP-NOLSE-NEXT:    cmp x22, x9
; SOFTFP-NOLSE-NEXT:    b.ne .LBB8_1
; SOFTFP-NOLSE-NEXT:  // %bb.4: // %cmpxchg.trystore
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB8_3 Depth=2
; SOFTFP-NOLSE-NEXT:    stlxr w10, x8, [x20]
; SOFTFP-NOLSE-NEXT:    cbnz w10, .LBB8_3
; SOFTFP-NOLSE-NEXT:  // %bb.5: // in Loop: Header=BB8_2 Depth=1
; SOFTFP-NOLSE-NEXT:    mov w8, #1 // =0x1
; SOFTFP-NOLSE-NEXT:    lsr x23, x22, #32
; SOFTFP-NOLSE-NEXT:    cbz w8, .LBB8_2
; SOFTFP-NOLSE-NEXT:  .LBB8_6: // %atomicrmw.end
; SOFTFP-NOLSE-NEXT:    mov w0, w22
; SOFTFP-NOLSE-NEXT:    mov w1, w23
; SOFTFP-NOLSE-NEXT:    ldp x20, x19, [sp, #48] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldp x22, x21, [sp, #32] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldp x24, x23, [sp, #16] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldr x30, [sp], #64 // 8-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ret
  %res = atomicrmw fmax ptr %ptr, <2 x float> %value seq_cst, align 8
  ret <2 x float> %res
}

define <2 x double> @test_atomicrmw_fmax_v2f64_seq_cst_align8(ptr %ptr, <2 x double> %value) #0 {
; NOLSE-LABEL: test_atomicrmw_fmax_v2f64_seq_cst_align8:
; NOLSE:       // %bb.0:
; NOLSE-NEXT:  .LBB9_1: // %atomicrmw.start
; NOLSE-NEXT:    // =>This Inner Loop Header: Depth=1
; NOLSE-NEXT:    ldaxp x8, x9, [x0]
; NOLSE-NEXT:    fmov d1, x8
; NOLSE-NEXT:    mov v1.d[1], x9
; NOLSE-NEXT:    fmaxnm v2.2d, v1.2d, v0.2d
; NOLSE-NEXT:    mov x8, v2.d[1]
; NOLSE-NEXT:    fmov x9, d2
; NOLSE-NEXT:    stlxp w10, x9, x8, [x0]
; NOLSE-NEXT:    cbnz w10, .LBB9_1
; NOLSE-NEXT:  // %bb.2: // %atomicrmw.end
; NOLSE-NEXT:    mov v0.16b, v1.16b
; NOLSE-NEXT:    ret
;
; LSE-LABEL: test_atomicrmw_fmax_v2f64_seq_cst_align8:
; LSE:       // %bb.0:
; LSE-NEXT:    ldr q1, [x0]
; LSE-NEXT:  .LBB9_1: // %atomicrmw.start
; LSE-NEXT:    // =>This Inner Loop Header: Depth=1
; LSE-NEXT:    fmaxnm v2.2d, v1.2d, v0.2d
; LSE-NEXT:    mov x3, v1.d[1]
; LSE-NEXT:    fmov x2, d1
; LSE-NEXT:    mov x7, x3
; LSE-NEXT:    mov x5, v2.d[1]
; LSE-NEXT:    mov x6, x2
; LSE-NEXT:    fmov x4, d2
; LSE-NEXT:    caspal x6, x7, x4, x5, [x0]
; LSE-NEXT:    fmov d1, x6
; LSE-NEXT:    cmp x7, x3
; LSE-NEXT:    ccmp x6, x2, #0, eq
; LSE-NEXT:    mov v1.d[1], x7
; LSE-NEXT:    b.ne .LBB9_1
; LSE-NEXT:  // %bb.2: // %atomicrmw.end
; LSE-NEXT:    mov v0.16b, v1.16b
; LSE-NEXT:    ret
;
; SOFTFP-NOLSE-LABEL: test_atomicrmw_fmax_v2f64_seq_cst_align8:
; SOFTFP-NOLSE:       // %bb.0:
; SOFTFP-NOLSE-NEXT:    str x30, [sp, #-64]! // 8-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    stp x20, x19, [sp, #48] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    mov x20, x0
; SOFTFP-NOLSE-NEXT:    mov x19, x3
; SOFTFP-NOLSE-NEXT:    ldp x0, x1, [x0]
; SOFTFP-NOLSE-NEXT:    stp x22, x21, [sp, #32] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    mov x21, x2
; SOFTFP-NOLSE-NEXT:    stp x24, x23, [sp, #16] // 16-byte Folded Spill
; SOFTFP-NOLSE-NEXT:    b .LBB9_2
; SOFTFP-NOLSE-NEXT:  .LBB9_1: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB9_2 Depth=1
; SOFTFP-NOLSE-NEXT:    cmp x1, x22
; SOFTFP-NOLSE-NEXT:    ccmp x0, x23, #0, eq
; SOFTFP-NOLSE-NEXT:    b.eq .LBB9_6
; SOFTFP-NOLSE-NEXT:  .LBB9_2: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // =>This Loop Header: Depth=1
; SOFTFP-NOLSE-NEXT:    // Child Loop BB9_3 Depth 2
; SOFTFP-NOLSE-NEXT:    mov x22, x1
; SOFTFP-NOLSE-NEXT:    mov x23, x0
; SOFTFP-NOLSE-NEXT:    mov x0, x1
; SOFTFP-NOLSE-NEXT:    mov x1, x19
; SOFTFP-NOLSE-NEXT:    bl fmax
; SOFTFP-NOLSE-NEXT:    mov x24, x0
; SOFTFP-NOLSE-NEXT:    mov x0, x23
; SOFTFP-NOLSE-NEXT:    mov x1, x21
; SOFTFP-NOLSE-NEXT:    bl fmax
; SOFTFP-NOLSE-NEXT:    mov x8, x0
; SOFTFP-NOLSE-NEXT:  .LBB9_3: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // Parent Loop BB9_2 Depth=1
; SOFTFP-NOLSE-NEXT:    // => This Inner Loop Header: Depth=2
; SOFTFP-NOLSE-NEXT:    ldaxp x0, x1, [x20]
; SOFTFP-NOLSE-NEXT:    cmp x0, x23
; SOFTFP-NOLSE-NEXT:    cset w9, ne
; SOFTFP-NOLSE-NEXT:    cmp x1, x22
; SOFTFP-NOLSE-NEXT:    cinc w9, w9, ne
; SOFTFP-NOLSE-NEXT:    cbz w9, .LBB9_5
; SOFTFP-NOLSE-NEXT:  // %bb.4: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB9_3 Depth=2
; SOFTFP-NOLSE-NEXT:    stlxp w9, x0, x1, [x20]
; SOFTFP-NOLSE-NEXT:    cbnz w9, .LBB9_3
; SOFTFP-NOLSE-NEXT:    b .LBB9_1
; SOFTFP-NOLSE-NEXT:  .LBB9_5: // %atomicrmw.start
; SOFTFP-NOLSE-NEXT:    // in Loop: Header=BB9_3 Depth=2
; SOFTFP-NOLSE-NEXT:    stlxp w9, x8, x24, [x20]
; SOFTFP-NOLSE-NEXT:    cbnz w9, .LBB9_3
; SOFTFP-NOLSE-NEXT:    b .LBB9_1
; SOFTFP-NOLSE-NEXT:  .LBB9_6: // %atomicrmw.end
; SOFTFP-NOLSE-NEXT:    ldp x20, x19, [sp, #48] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldp x22, x21, [sp, #32] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldp x24, x23, [sp, #16] // 16-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ldr x30, [sp], #64 // 8-byte Folded Reload
; SOFTFP-NOLSE-NEXT:    ret
  %res = atomicrmw fmax ptr %ptr, <2 x double> %value seq_cst, align 16
  ret <2 x double> %res
}

attributes #0 = { nounwind }
