Skip to content

Commit fd70109

Browse files
committed
Change tests triple from arm--- to armv7--
1 parent 6ad4244 commit fd70109

File tree

3 files changed

+123
-102
lines changed

3 files changed

+123
-102
lines changed

llvm/lib/Target/ARM/ARMISelLowering.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1291,12 +1291,16 @@ ARMTargetLowering::ARMTargetLowering(const TargetMachine &TM_,
12911291
if (!Subtarget->hasFPARMv8Base() || !Subtarget->hasFP64()) {
12921292
setOperationAction(ISD::FP16_TO_FP, MVT::f64, Expand);
12931293
setOperationAction(ISD::FP_TO_FP16, MVT::f64, Expand);
1294+
setOperationAction(ISD::STRICT_FP16_TO_FP, MVT::f64, LibCall);
1295+
setOperationAction(ISD::STRICT_FP_TO_FP16, MVT::f64, LibCall);
12941296
}
12951297

12961298
// fp16 is a special v7 extension that adds f16 <-> f32 conversions.
12971299
if (!Subtarget->hasFP16()) {
12981300
setOperationAction(ISD::FP16_TO_FP, MVT::f32, Expand);
12991301
setOperationAction(ISD::FP_TO_FP16, MVT::f32, Expand);
1302+
setOperationAction(ISD::STRICT_FP16_TO_FP, MVT::f32, LibCall);
1303+
setOperationAction(ISD::STRICT_FP_TO_FP16, MVT::f32, LibCall);
13001304
}
13011305

13021306
// Strict floating-point comparisons need custom lowering.

llvm/test/CodeGen/ARM/strict-fp-ops.ll

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2-
; RUN: llc -mtriple arm-- -mattr=+vfp4 %s -o - | FileCheck %s
2+
; RUN: llc -mtriple armv7-- -mattr=+vfp4 %s -o - | FileCheck %s
33

44

55
; Div whose result is unused should be removed unless we have strict exceptions
66

77
define void @unused_div(float %x, float %y) {
88
; CHECK-LABEL: unused_div:
99
; CHECK: @ %bb.0: @ %entry
10-
; CHECK-NEXT: mov pc, lr
10+
; CHECK-NEXT: bx lr
1111
entry:
1212
%add = fdiv float %x, %y
1313
ret void
@@ -19,7 +19,7 @@ define void @unused_div_fpexcept_strict(float %x, float %y) #0 {
1919
; CHECK-NEXT: vmov s0, r1
2020
; CHECK-NEXT: vmov s2, r0
2121
; CHECK-NEXT: vdiv.f32 s0, s2, s0
22-
; CHECK-NEXT: mov pc, lr
22+
; CHECK-NEXT: bx lr
2323
entry:
2424
%add = call float @llvm.experimental.constrained.fdiv.f32(float %x, float %y, metadata !"round.tonearest", metadata !"fpexcept.strict") #0
2525
ret void
@@ -28,7 +28,7 @@ entry:
2828
define void @unused_div_round_dynamic(float %x, float %y) #0 {
2929
; CHECK-LABEL: unused_div_round_dynamic:
3030
; CHECK: @ %bb.0: @ %entry
31-
; CHECK-NEXT: mov pc, lr
31+
; CHECK-NEXT: bx lr
3232
entry:
3333
%add = call float @llvm.experimental.constrained.fdiv.f32(float %x, float %y, metadata !"round.dynamic", metadata !"fpexcept.ignore") #0
3434
ret void
@@ -44,9 +44,10 @@ define float @add_twice(float %x, float %y, i32 %n) {
4444
; CHECK-NEXT: cmp r2, #0
4545
; CHECK-NEXT: vmov s2, r0
4646
; CHECK-NEXT: vadd.f32 s0, s2, s0
47-
; CHECK-NEXT: vmulne.f32 s0, s0, s0
48-
; CHECK-NEXT: vmov r0, s0
49-
; CHECK-NEXT: mov pc, lr
47+
; CHECK-NEXT: vmul.f32 s2, s0, s0
48+
; CHECK-NEXT: vmoveq.f32 s2, s0
49+
; CHECK-NEXT: vmov r0, s2
50+
; CHECK-NEXT: bx lr
5051
entry:
5152
%add = fadd float %x, %y
5253
%tobool.not = icmp eq i32 %n, 0
@@ -72,7 +73,7 @@ define float @add_twice_fpexcept_strict(float %x, float %y, i32 %n) #0 {
7273
; CHECK-NEXT: vaddne.f32 s2, s4, s2
7374
; CHECK-NEXT: vmulne.f32 s0, s0, s2
7475
; CHECK-NEXT: vmov r0, s0
75-
; CHECK-NEXT: mov pc, lr
76+
; CHECK-NEXT: bx lr
7677
entry:
7778
%add = call float @llvm.experimental.constrained.fadd.f32(float %x, float %y, metadata !"round.tonearest", metadata !"fpexcept.strict") #0
7879
%tobool.not = icmp eq i32 %n, 0
@@ -97,7 +98,7 @@ define float @add_twice_round_dynamic(float %x, float %y, i32 %n) #0 {
9798
; CHECK-NEXT: vadd.f32 s0, s2, s0
9899
; CHECK-NEXT: vmulne.f32 s0, s0, s0
99100
; CHECK-NEXT: vmov r0, s0
100-
; CHECK-NEXT: mov pc, lr
101+
; CHECK-NEXT: bx lr
101102
entry:
102103
%add = call float @llvm.experimental.constrained.fadd.f32(float %x, float %y, metadata !"round.dynamic", metadata !"fpexcept.ignore") #0
103104
%tobool.not = icmp eq i32 %n, 0
@@ -131,7 +132,7 @@ define float @set_rounding(float %x, float %y) {
131132
; CHECK-NEXT: vmrs r1, fpscr
132133
; CHECK-NEXT: bic r1, r1, #12582912
133134
; CHECK-NEXT: vmsr fpscr, r1
134-
; CHECK-NEXT: mov pc, lr
135+
; CHECK-NEXT: bx lr
135136
entry:
136137
%add1 = fadd float %x, %y
137138
call void @llvm.set.rounding(i32 0)
@@ -156,7 +157,7 @@ define float @set_rounding_fpexcept_strict(float %x, float %y) #0 {
156157
; CHECK-NEXT: vmsr fpscr, r0
157158
; CHECK-NEXT: vsub.f32 s0, s4, s0
158159
; CHECK-NEXT: vmov r0, s0
159-
; CHECK-NEXT: mov pc, lr
160+
; CHECK-NEXT: bx lr
160161
entry:
161162
%add1 = call float @llvm.experimental.constrained.fadd.f32(float %x, float %y, metadata !"round.tonearest", metadata !"fpexcept.strict") #0
162163
call void @llvm.set.rounding(i32 0) #0
@@ -181,7 +182,7 @@ define float @set_rounding_round_dynamic(float %x, float %y) #0 {
181182
; CHECK-NEXT: vmsr fpscr, r0
182183
; CHECK-NEXT: vsub.f32 s0, s4, s0
183184
; CHECK-NEXT: vmov r0, s0
184-
; CHECK-NEXT: mov pc, lr
185+
; CHECK-NEXT: bx lr
185186
entry:
186187
%add1 = call float @llvm.experimental.constrained.fadd.f32(float %x, float %y, metadata !"round.dynamic", metadata !"fpexcept.ignore") #0
187188
call void @llvm.set.rounding(i32 0) #0

0 commit comments

Comments
 (0)