|
|
|
|
@@ -152,8 +152,7 @@ define float @float_fmin_acquire(ptr %p) nounwind {
|
|
|
|
|
; LA64F-NEXT: .LBB2_1: # %atomicrmw.start
|
|
|
|
|
; LA64F-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64F-NEXT: # Child Loop BB2_3 Depth 2
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64F-NEXT: fmin.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64F-NEXT: fmin.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64F-NEXT: .LBB2_3: # %atomicrmw.start
|
|
|
|
|
@@ -185,8 +184,7 @@ define float @float_fmin_acquire(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .LBB2_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: # Child Loop BB2_3 Depth 2
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: fmin.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64D-NEXT: fmin.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64D-NEXT: .LBB2_3: # %atomicrmw.start
|
|
|
|
|
@@ -224,8 +222,7 @@ define float @float_fmax_acquire(ptr %p) nounwind {
|
|
|
|
|
; LA64F-NEXT: .LBB3_1: # %atomicrmw.start
|
|
|
|
|
; LA64F-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64F-NEXT: # Child Loop BB3_3 Depth 2
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64F-NEXT: .LBB3_3: # %atomicrmw.start
|
|
|
|
|
@@ -257,8 +254,7 @@ define float @float_fmax_acquire(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .LBB3_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: # Child Loop BB3_3 Depth 2
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64D-NEXT: .LBB3_3: # %atomicrmw.start
|
|
|
|
|
@@ -478,9 +474,8 @@ define double @double_fmin_acquire(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .p2align 4, , 16
|
|
|
|
|
; LA64D-NEXT: .LBB6_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Inner Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: vldi $vr2, -912
|
|
|
|
|
; LA64D-NEXT: fmin.d $fa1, $fa1, $fa2
|
|
|
|
|
; LA64D-NEXT: vldi $vr1, -912
|
|
|
|
|
; LA64D-NEXT: fmin.d $fa1, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: fst.d $fa0, $sp, 8
|
|
|
|
|
; LA64D-NEXT: fst.d $fa1, $sp, 0
|
|
|
|
|
; LA64D-NEXT: ori $a0, $zero, 8
|
|
|
|
|
@@ -551,9 +546,8 @@ define double @double_fmax_acquire(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .p2align 4, , 16
|
|
|
|
|
; LA64D-NEXT: .LBB7_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Inner Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: vldi $vr2, -912
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa1, $fa2
|
|
|
|
|
; LA64D-NEXT: vldi $vr1, -912
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: fst.d $fa0, $sp, 8
|
|
|
|
|
; LA64D-NEXT: fst.d $fa1, $sp, 0
|
|
|
|
|
; LA64D-NEXT: ori $a0, $zero, 8
|
|
|
|
|
@@ -725,8 +719,7 @@ define float @float_fmin_release(ptr %p) nounwind {
|
|
|
|
|
; LA64F-NEXT: .LBB10_1: # %atomicrmw.start
|
|
|
|
|
; LA64F-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64F-NEXT: # Child Loop BB10_3 Depth 2
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64F-NEXT: fmin.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64F-NEXT: fmin.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64F-NEXT: .LBB10_3: # %atomicrmw.start
|
|
|
|
|
@@ -758,8 +751,7 @@ define float @float_fmin_release(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .LBB10_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: # Child Loop BB10_3 Depth 2
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: fmin.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64D-NEXT: fmin.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64D-NEXT: .LBB10_3: # %atomicrmw.start
|
|
|
|
|
@@ -797,8 +789,7 @@ define float @float_fmax_release(ptr %p) nounwind {
|
|
|
|
|
; LA64F-NEXT: .LBB11_1: # %atomicrmw.start
|
|
|
|
|
; LA64F-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64F-NEXT: # Child Loop BB11_3 Depth 2
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64F-NEXT: .LBB11_3: # %atomicrmw.start
|
|
|
|
|
@@ -830,8 +821,7 @@ define float @float_fmax_release(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .LBB11_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: # Child Loop BB11_3 Depth 2
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64D-NEXT: .LBB11_3: # %atomicrmw.start
|
|
|
|
|
@@ -1051,9 +1041,8 @@ define double @double_fmin_release(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .p2align 4, , 16
|
|
|
|
|
; LA64D-NEXT: .LBB14_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Inner Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: vldi $vr2, -912
|
|
|
|
|
; LA64D-NEXT: fmin.d $fa1, $fa1, $fa2
|
|
|
|
|
; LA64D-NEXT: vldi $vr1, -912
|
|
|
|
|
; LA64D-NEXT: fmin.d $fa1, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: fst.d $fa0, $sp, 8
|
|
|
|
|
; LA64D-NEXT: fst.d $fa1, $sp, 0
|
|
|
|
|
; LA64D-NEXT: ori $a0, $zero, 8
|
|
|
|
|
@@ -1124,9 +1113,8 @@ define double @double_fmax_release(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .p2align 4, , 16
|
|
|
|
|
; LA64D-NEXT: .LBB15_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Inner Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: vldi $vr2, -912
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa1, $fa2
|
|
|
|
|
; LA64D-NEXT: vldi $vr1, -912
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: fst.d $fa0, $sp, 8
|
|
|
|
|
; LA64D-NEXT: fst.d $fa1, $sp, 0
|
|
|
|
|
; LA64D-NEXT: ori $a0, $zero, 8
|
|
|
|
|
@@ -1298,8 +1286,7 @@ define float @float_fmin_acq_rel(ptr %p) nounwind {
|
|
|
|
|
; LA64F-NEXT: .LBB18_1: # %atomicrmw.start
|
|
|
|
|
; LA64F-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64F-NEXT: # Child Loop BB18_3 Depth 2
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64F-NEXT: fmin.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64F-NEXT: fmin.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64F-NEXT: .LBB18_3: # %atomicrmw.start
|
|
|
|
|
@@ -1331,8 +1318,7 @@ define float @float_fmin_acq_rel(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .LBB18_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: # Child Loop BB18_3 Depth 2
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: fmin.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64D-NEXT: fmin.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64D-NEXT: .LBB18_3: # %atomicrmw.start
|
|
|
|
|
@@ -1370,8 +1356,7 @@ define float @float_fmax_acq_rel(ptr %p) nounwind {
|
|
|
|
|
; LA64F-NEXT: .LBB19_1: # %atomicrmw.start
|
|
|
|
|
; LA64F-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64F-NEXT: # Child Loop BB19_3 Depth 2
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64F-NEXT: .LBB19_3: # %atomicrmw.start
|
|
|
|
|
@@ -1403,8 +1388,7 @@ define float @float_fmax_acq_rel(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .LBB19_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: # Child Loop BB19_3 Depth 2
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64D-NEXT: .LBB19_3: # %atomicrmw.start
|
|
|
|
|
@@ -1624,9 +1608,8 @@ define double @double_fmin_acq_rel(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .p2align 4, , 16
|
|
|
|
|
; LA64D-NEXT: .LBB22_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Inner Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: vldi $vr2, -912
|
|
|
|
|
; LA64D-NEXT: fmin.d $fa1, $fa1, $fa2
|
|
|
|
|
; LA64D-NEXT: vldi $vr1, -912
|
|
|
|
|
; LA64D-NEXT: fmin.d $fa1, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: fst.d $fa0, $sp, 8
|
|
|
|
|
; LA64D-NEXT: fst.d $fa1, $sp, 0
|
|
|
|
|
; LA64D-NEXT: ori $a0, $zero, 8
|
|
|
|
|
@@ -1697,9 +1680,8 @@ define double @double_fmax_acq_rel(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .p2align 4, , 16
|
|
|
|
|
; LA64D-NEXT: .LBB23_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Inner Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: vldi $vr2, -912
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa1, $fa2
|
|
|
|
|
; LA64D-NEXT: vldi $vr1, -912
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: fst.d $fa0, $sp, 8
|
|
|
|
|
; LA64D-NEXT: fst.d $fa1, $sp, 0
|
|
|
|
|
; LA64D-NEXT: ori $a0, $zero, 8
|
|
|
|
|
@@ -1871,8 +1853,7 @@ define float @float_fmin_seq_cst(ptr %p) nounwind {
|
|
|
|
|
; LA64F-NEXT: .LBB26_1: # %atomicrmw.start
|
|
|
|
|
; LA64F-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64F-NEXT: # Child Loop BB26_3 Depth 2
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64F-NEXT: fmin.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64F-NEXT: fmin.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64F-NEXT: .LBB26_3: # %atomicrmw.start
|
|
|
|
|
@@ -1904,8 +1885,7 @@ define float @float_fmin_seq_cst(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .LBB26_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: # Child Loop BB26_3 Depth 2
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: fmin.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64D-NEXT: fmin.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64D-NEXT: .LBB26_3: # %atomicrmw.start
|
|
|
|
|
@@ -1943,8 +1923,7 @@ define float @float_fmax_seq_cst(ptr %p) nounwind {
|
|
|
|
|
; LA64F-NEXT: .LBB27_1: # %atomicrmw.start
|
|
|
|
|
; LA64F-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64F-NEXT: # Child Loop BB27_3 Depth 2
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64F-NEXT: .LBB27_3: # %atomicrmw.start
|
|
|
|
|
@@ -1976,8 +1955,7 @@ define float @float_fmax_seq_cst(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .LBB27_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: # Child Loop BB27_3 Depth 2
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64D-NEXT: .LBB27_3: # %atomicrmw.start
|
|
|
|
|
@@ -2197,9 +2175,8 @@ define double @double_fmin_seq_cst(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .p2align 4, , 16
|
|
|
|
|
; LA64D-NEXT: .LBB30_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Inner Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: vldi $vr2, -912
|
|
|
|
|
; LA64D-NEXT: fmin.d $fa1, $fa1, $fa2
|
|
|
|
|
; LA64D-NEXT: vldi $vr1, -912
|
|
|
|
|
; LA64D-NEXT: fmin.d $fa1, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: fst.d $fa0, $sp, 8
|
|
|
|
|
; LA64D-NEXT: fst.d $fa1, $sp, 0
|
|
|
|
|
; LA64D-NEXT: ori $a0, $zero, 8
|
|
|
|
|
@@ -2270,9 +2247,8 @@ define double @double_fmax_seq_cst(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .p2align 4, , 16
|
|
|
|
|
; LA64D-NEXT: .LBB31_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Inner Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: vldi $vr2, -912
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa1, $fa2
|
|
|
|
|
; LA64D-NEXT: vldi $vr1, -912
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: fst.d $fa0, $sp, 8
|
|
|
|
|
; LA64D-NEXT: fst.d $fa1, $sp, 0
|
|
|
|
|
; LA64D-NEXT: ori $a0, $zero, 8
|
|
|
|
|
@@ -2444,8 +2420,7 @@ define float @float_fmin_monotonic(ptr %p) nounwind {
|
|
|
|
|
; LA64F-NEXT: .LBB34_1: # %atomicrmw.start
|
|
|
|
|
; LA64F-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64F-NEXT: # Child Loop BB34_3 Depth 2
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64F-NEXT: fmin.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64F-NEXT: fmin.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64F-NEXT: .LBB34_3: # %atomicrmw.start
|
|
|
|
|
@@ -2477,8 +2452,7 @@ define float @float_fmin_monotonic(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .LBB34_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: # Child Loop BB34_3 Depth 2
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: fmin.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64D-NEXT: fmin.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64D-NEXT: .LBB34_3: # %atomicrmw.start
|
|
|
|
|
@@ -2516,8 +2490,7 @@ define float @float_fmax_monotonic(ptr %p) nounwind {
|
|
|
|
|
; LA64F-NEXT: .LBB35_1: # %atomicrmw.start
|
|
|
|
|
; LA64F-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64F-NEXT: # Child Loop BB35_3 Depth 2
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64F-NEXT: fmax.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64F-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64F-NEXT: .LBB35_3: # %atomicrmw.start
|
|
|
|
|
@@ -2549,8 +2522,7 @@ define float @float_fmax_monotonic(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .LBB35_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: # Child Loop BB35_3 Depth 2
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa2, $fa1
|
|
|
|
|
; LA64D-NEXT: fmax.s $fa2, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a1, $fa2
|
|
|
|
|
; LA64D-NEXT: movfr2gr.s $a2, $fa0
|
|
|
|
|
; LA64D-NEXT: .LBB35_3: # %atomicrmw.start
|
|
|
|
|
@@ -2770,9 +2742,8 @@ define double @double_fmin_monotonic(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .p2align 4, , 16
|
|
|
|
|
; LA64D-NEXT: .LBB38_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Inner Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: vldi $vr2, -912
|
|
|
|
|
; LA64D-NEXT: fmin.d $fa1, $fa1, $fa2
|
|
|
|
|
; LA64D-NEXT: vldi $vr1, -912
|
|
|
|
|
; LA64D-NEXT: fmin.d $fa1, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: fst.d $fa0, $sp, 8
|
|
|
|
|
; LA64D-NEXT: fst.d $fa1, $sp, 0
|
|
|
|
|
; LA64D-NEXT: ori $a0, $zero, 8
|
|
|
|
|
@@ -2843,9 +2814,8 @@ define double @double_fmax_monotonic(ptr %p) nounwind {
|
|
|
|
|
; LA64D-NEXT: .p2align 4, , 16
|
|
|
|
|
; LA64D-NEXT: .LBB39_1: # %atomicrmw.start
|
|
|
|
|
; LA64D-NEXT: # =>This Inner Loop Header: Depth=1
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa0
|
|
|
|
|
; LA64D-NEXT: vldi $vr2, -912
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa1, $fa2
|
|
|
|
|
; LA64D-NEXT: vldi $vr1, -912
|
|
|
|
|
; LA64D-NEXT: fmax.d $fa1, $fa0, $fa1
|
|
|
|
|
; LA64D-NEXT: fst.d $fa0, $sp, 8
|
|
|
|
|
; LA64D-NEXT: fst.d $fa1, $sp, 0
|
|
|
|
|
; LA64D-NEXT: ori $a0, $zero, 8
|
|
|
|
|
|