Index: tests_lit/llvm2ice_tests/fp.arm.call.ll |
diff --git a/tests_lit/llvm2ice_tests/fp.arm.call.ll b/tests_lit/llvm2ice_tests/fp.arm.call.ll |
index 1e0c6e789dc3db482b8d8b351a0671ce019e68ac..10ae3168c2e0c306cf973ac1d24dc65b9498044a 100644 |
--- a/tests_lit/llvm2ice_tests/fp.arm.call.ll |
+++ b/tests_lit/llvm2ice_tests/fp.arm.call.ll |
@@ -63,29 +63,39 @@ define internal void @floatHarness() nounwind { |
; CHECK-LABEL: floatHarness |
call void @float1(float 1.0) |
; CHECK-DAG: vmov.f32 s0 |
-; CHECK: bl {{.*}} float1 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float1 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float2(float 1.0, float 2.0) |
; CHECK-DAG: vmov.f32 s0 |
; CHECK-DAG: vmov.f32 s1 |
-; CHECK: bl {{.*}} float2 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float2 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float3(float 1.0, float 2.0, float 3.0) |
; CHECK-DAG: vmov.f32 s0 |
; CHECK-DAG: vmov.f32 s1 |
; CHECK-DAG: vmov.f32 s2 |
-; CHECK: bl {{.*}} float3 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float3 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float4(float 1.0, float 2.0, float 3.0, float 4.0) |
; CHECK-DAG: vmov.f32 s0 |
; CHECK-DAG: vmov.f32 s1 |
; CHECK-DAG: vmov.f32 s2 |
; CHECK-DAG: vmov.f32 s3 |
-; CHECK: bl {{.*}} float4 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float4 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float5(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0) |
; CHECK-DAG: vmov.f32 s0 |
; CHECK-DAG: vmov.f32 s1 |
; CHECK-DAG: vmov.f32 s2 |
; CHECK-DAG: vmov.f32 s3 |
; CHECK-DAG: vmov.f32 s4 |
-; CHECK: bl {{.*}} float5 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float5 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float6(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0) |
; CHECK-DAG: vmov.f32 s0 |
@@ -94,7 +104,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s3 |
; CHECK-DAG: vmov.f32 s4 |
; CHECK-DAG: vmov.f32 s5 |
-; CHECK: bl {{.*}} float6 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float6 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float7(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0, float 7.0) |
; CHECK-DAG: vmov.f32 s0 |
@@ -104,7 +116,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s4 |
; CHECK-DAG: vmov.f32 s5 |
; CHECK-DAG: vmov.f32 s6 |
-; CHECK: bl {{.*}} float7 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float7 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float8(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0, float 7.0, float 8.0) |
; CHECK-DAG: vmov.f32 s0 |
@@ -115,7 +129,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s5 |
; CHECK-DAG: vmov.f32 s6 |
; CHECK-DAG: vmov.f32 s7 |
-; CHECK: bl {{.*}} float8 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float8 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float9(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0, float 7.0, float 8.0, float 9.0) |
; CHECK-DAG: vmov.f32 s0 |
@@ -127,7 +143,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s6 |
; CHECK-DAG: vmov.f32 s7 |
; CHECK-DAG: vmov.f32 s8 |
-; CHECK: bl {{.*}} float9 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float9 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float10(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0, float 7.0, float 8.0, float 9.0, float 10.0) |
; CHECK-DAG: vmov.f32 s0 |
@@ -140,7 +158,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s7 |
; CHECK-DAG: vmov.f32 s8 |
; CHECK-DAG: vmov.f32 s9 |
-; CHECK: bl {{.*}} float10 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float10 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float11(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0, float 7.0, float 8.0, float 9.0, float 10.0, |
float 11.0) |
@@ -155,7 +175,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s8 |
; CHECK-DAG: vmov.f32 s9 |
; CHECK-DAG: vmov.f32 s10 |
-; CHECK: bl {{.*}} float11 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float11 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float12(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0, float 7.0, float 8.0, float 9.0, float 10.0, |
float 11.0, float 12.0) |
@@ -171,7 +193,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s9 |
; CHECK-DAG: vmov.f32 s10 |
; CHECK-DAG: vmov.f32 s11 |
-; CHECK: bl {{.*}} float12 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float12 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float13(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0, float 7.0, float 8.0, float 9.0, float 10.0, |
float 11.0, float 12.0, float 13.0) |
@@ -188,7 +212,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s10 |
; CHECK-DAG: vmov.f32 s11 |
; CHECK-DAG: vmov.f32 s12 |
-; CHECK: bl {{.*}} float13 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float13 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float14(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0, float 7.0, float 8.0, float 9.0, float 10.0, |
float 11.0, float 12.0, float 13.0, float 14.0) |
@@ -206,7 +232,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s11 |
; CHECK-DAG: vmov.f32 s12 |
; CHECK-DAG: vmov.f32 s13 |
-; CHECK: bl {{.*}} float14 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float14 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float15(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0, float 7.0, float 8.0, float 9.0, float 10.0, |
float 11.0, float 12.0, float 13.0, float 14.0, |
@@ -226,7 +254,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s12 |
; CHECK-DAG: vmov.f32 s13 |
; CHECK-DAG: vmov.f32 s14 |
-; CHECK: bl {{.*}} float15 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float15 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float16(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0, float 7.0, float 8.0, float 9.0, float 10.0, |
float 11.0, float 12.0, float 13.0, float 14.0, |
@@ -247,7 +277,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s13 |
; CHECK-DAG: vmov.f32 s14 |
; CHECK-DAG: vmov.f32 s15 |
-; CHECK: bl {{.*}} float16 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float16 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float17(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0, float 7.0, float 8.0, float 9.0, float 10.0, |
float 11.0, float 12.0, float 13.0, float 14.0, |
@@ -269,7 +301,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s14 |
; CHECK-DAG: vmov.f32 s15 |
; CHECK-DAG: vstr s{{.*}}, [sp] |
-; CHECK: bl {{.*}} float17 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float17 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @float18(float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, |
float 6.0, float 7.0, float 8.0, float 9.0, float 10.0, |
float 11.0, float 12.0, float 13.0, float 14.0, |
@@ -292,7 +326,9 @@ define internal void @floatHarness() nounwind { |
; CHECK-DAG: vmov.f32 s15 |
; CHECK-DAG: vstr s{{.*}}, [sp] |
; CHECK-DAG: vstr s{{.*}}, [sp, #4] |
-; CHECK: bl {{.*}} float18 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} float18 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
ret void |
} |
@@ -318,22 +354,30 @@ define internal void @doubleHarness() nounwind { |
; CHECK-LABEL: doubleHarness |
call void @double1(double 1.0) |
; CHECK-DAG: vmov.f64 d0 |
-; CHECK: bl {{.*}} double1 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} double1 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @double2(double 1.0, double 2.0) |
; CHECK-DAG: vmov.f64 d0 |
; CHECK-DAG: vmov.f64 d1 |
-; CHECK: bl {{.*}} double2 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} double2 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @double3(double 1.0, double 2.0, double 3.0) |
; CHECK-DAG: vmov.f64 d0 |
; CHECK-DAG: vmov.f64 d1 |
; CHECK-DAG: vmov.f64 d2 |
-; CHECK: bl {{.*}} double3 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} double3 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @double4(double 1.0, double 2.0, double 3.0, double 4.0) |
; CHECK-DAG: vmov.f64 d0 |
; CHECK-DAG: vmov.f64 d1 |
; CHECK-DAG: vmov.f64 d2 |
; CHECK-DAG: vmov.f64 d3 |
-; CHECK: bl {{.*}} double4 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} double4 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @double5(double 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0) |
; CHECK-DAG: vmov.f64 d0 |
@@ -341,7 +385,9 @@ define internal void @doubleHarness() nounwind { |
; CHECK-DAG: vmov.f64 d2 |
; CHECK-DAG: vmov.f64 d3 |
; CHECK-DAG: vmov.f64 d4 |
-; CHECK: bl {{.*}} double5 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} double5 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @double6(double 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0) |
; CHECK-DAG: vmov.f64 d0 |
@@ -350,7 +396,9 @@ define internal void @doubleHarness() nounwind { |
; CHECK-DAG: vmov.f64 d3 |
; CHECK-DAG: vmov.f64 d4 |
; CHECK-DAG: vmov.f64 d5 |
-; CHECK: bl {{.*}} double6 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} double6 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @double7(double 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0, double 7.0) |
; CHECK-DAG: vmov.f64 d0 |
@@ -360,7 +408,9 @@ define internal void @doubleHarness() nounwind { |
; CHECK-DAG: vmov.f64 d4 |
; CHECK-DAG: vmov.f64 d5 |
; CHECK-DAG: vmov.f64 d6 |
-; CHECK: bl {{.*}} double7 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} double7 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @double8(double 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0, double 7.0, double 8.0) |
; CHECK-DAG: vmov.f64 d0 |
@@ -371,7 +421,9 @@ define internal void @doubleHarness() nounwind { |
; CHECK-DAG: vmov.f64 d5 |
; CHECK-DAG: vmov.f64 d6 |
; CHECK-DAG: vmov.f64 d7 |
-; CHECK: bl {{.*}} double8 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} double8 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @double9(double 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0, double 7.0, double 8.0, |
double 9.0) |
@@ -383,8 +435,10 @@ define internal void @doubleHarness() nounwind { |
; CHECK-DAG: vmov.f64 d5 |
; CHECK-DAG: vmov.f64 d6 |
; CHECK-DAG: vmov.f64 d7 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} double9 |
+; CHECK-DAG: movt [[CALL]] |
; CHECK-DAG: vstr d{{.*}}, [sp] |
-; CHECK: bl {{.*}} double9 |
+; CHECK: blx [[CALL]] |
call void @double10(double 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0, double 7.0, double 8.0, |
double 9.0, double 10.0) |
@@ -398,7 +452,9 @@ define internal void @doubleHarness() nounwind { |
; CHECK-DAG: vmov.f64 d7 |
; CHECK-DAG: vstr d{{.*}}, [sp] |
; CHECK-DAG: vstr d{{.*}}, [sp, #8] |
-; CHECK: bl {{.*}} double10 |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} double10 |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
ret void |
} |
@@ -437,13 +493,17 @@ define internal void @packsFloats() nounwind { |
; CHECK-DAG: vmov.f32 s0 |
; CHECK-DAG: vmov.f64 d1 |
; CHECK-DAG: vmov.f32 s1 |
-; CHECK: bl {{.*}} testFDF |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} testFDF |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @testFDDF(float 1.0, double 2.0, double 3.0, float 4.0) |
; CHECK-DAG: vmov.f32 s0 |
; CHECK-DAG: vmov.f64 d1 |
; CHECK-DAG: vmov.f64 d2 |
; CHECK-DAG: vmov.f32 s1 |
-; CHECK: bl {{.*}} testFDDF |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} testFDDF |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @testFDDDF(float 1.0, double 2.0, double 3.0, double 4.0, |
float 5.0) |
; CHECK-DAG: vmov.f32 s0 |
@@ -451,7 +511,9 @@ define internal void @packsFloats() nounwind { |
; CHECK-DAG: vmov.f64 d2 |
; CHECK-DAG: vmov.f64 d3 |
; CHECK-DAG: vmov.f32 s1 |
-; CHECK: bl {{.*}} testFDDDF |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} testFDDDF |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @testFDDDDF(float 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, float 6.0) |
; CHECK-DAG: vmov.f32 s0 |
@@ -460,7 +522,9 @@ define internal void @packsFloats() nounwind { |
; CHECK-DAG: vmov.f64 d3 |
; CHECK-DAG: vmov.f64 d4 |
; CHECK-DAG: vmov.f32 s1 |
-; CHECK: bl {{.*}} testFDDDDF |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} testFDDDDF |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @testFDDDDDF(float 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0, float 7.0) |
; CHECK-DAG: vmov.f32 s0 |
@@ -470,7 +534,9 @@ define internal void @packsFloats() nounwind { |
; CHECK-DAG: vmov.f64 d4 |
; CHECK-DAG: vmov.f64 d5 |
; CHECK-DAG: vmov.f32 s1 |
-; CHECK: bl {{.*}} testFDDDDDF |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} testFDDDDDF |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @testFDDDDDDF(float 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0, double 7.0, float 8.0) |
; CHECK-DAG: vmov.f32 s0 |
@@ -481,7 +547,9 @@ define internal void @packsFloats() nounwind { |
; CHECK-DAG: vmov.f64 d5 |
; CHECK-DAG: vmov.f64 d6 |
; CHECK-DAG: vmov.f32 s1 |
-; CHECK: bl {{.*}} testFDDDDDDF |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} testFDDDDDDF |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @testFDDDDDDDF(float 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0, double 7.0, double 8.0, |
float 9.0) |
@@ -494,7 +562,9 @@ define internal void @packsFloats() nounwind { |
; CHECK-DAG: vmov.f64 d6 |
; CHECK-DAG: vmov.f64 d7 |
; CHECK-DAG: vmov.f32 s1 |
-; CHECK: bl {{.*}} testFDDDDDDDF |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} testFDDDDDDDF |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @testFDDDDDDDFD(float 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0, double 7.0, double 8.0, |
float 9.0, double 10.0) |
@@ -508,7 +578,9 @@ define internal void @packsFloats() nounwind { |
; CHECK-DAG: vmov.f64 d7 |
; CHECK-DAG: vstr d{{.*}}, [sp] |
; CHECK-DAG: vmov.f32 s1 |
-; CHECK: bl {{.*}} testFDDDDDDDFD |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} testFDDDDDDDFD |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @testFDDDDDDDDF(float 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0, double 7.0, double 8.0, |
double 9.0, float 10.0) |
@@ -522,7 +594,9 @@ define internal void @packsFloats() nounwind { |
; CHECK-DAG: vmov.f64 d7 |
; CHECK-DAG: vstr d{{.*}}, [sp] |
; CHECK-DAG: vstr s{{.*}}, [sp, #8] |
-; CHECK: bl {{.*}} testFDDDDDDDDF |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} testFDDDDDDDDF |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @testFDDDDDDDDDF(float 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0, double 7.0, double 8.0, |
double 9.0, double 10.0, float 11.0) |
@@ -537,7 +611,9 @@ define internal void @packsFloats() nounwind { |
; CHECK-DAG: vstr d{{.*}}, [sp] |
; CHECK-DAG: vstr d{{.*}}, [sp, #8] |
; CHECK-DAG: vstr s{{.*}}, [sp, #16] |
-; CHECK: bl {{.*}} testFDDDDDDDDDF |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} testFDDDDDDDDDF |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @testFDDDDDDDDFD(float 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0, double 7.0, double 8.0, |
double 9.0, float 10.0, double 11.0) |
@@ -552,7 +628,9 @@ define internal void @packsFloats() nounwind { |
; CHECK-DAG: vstr d{{.*}}, [sp] |
; CHECK-DAG: vstr s{{.*}}, [sp, #8] |
; CHECK-DAG: vstr d{{.*}}, [sp, #16] |
-; CHECK: bl {{.*}} testFDDDDDDDDFD |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} testFDDDDDDDDFD |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
call void @testFDDDDDDDDFDF(float 1.0, double 2.0, double 3.0, double 4.0, |
double 5.0, double 6.0, double 7.0, double 8.0, |
double 9.0, float 10.0, double 11.0, float 12.0) |
@@ -568,7 +646,9 @@ define internal void @packsFloats() nounwind { |
; CHECK-DAG: vstr s{{.*}}, [sp, #8] |
; CHECK-DAG: vstr d{{.*}}, [sp, #16] |
; CHECK-DAG: vstr s{{.*}}, [sp, #24] |
-; CHECK: bl {{.*}} testFDDDDDDDDFD |
+; CHECK-DAG: movw [[CALL:r[0-9]]], {{.+}} testFDDDDDDDDFD |
+; CHECK-DAG: movt [[CALL]] |
+; CHECK: blx [[CALL]] |
ret void |
} |