Index: tests_lit/llvm2ice_tests/return_immediates.ll |
diff --git a/tests_lit/llvm2ice_tests/return_immediates.ll b/tests_lit/llvm2ice_tests/return_immediates.ll |
index 2d94fb5ff105995588c8ee46acdf3c9d34297afa..e8ddb58d3712b72af5fee47cb81a18bd78685d54 100644 |
--- a/tests_lit/llvm2ice_tests/return_immediates.ll |
+++ b/tests_lit/llvm2ice_tests/return_immediates.ll |
@@ -2,7 +2,8 @@ |
; sets, some immediates are more complicated than others. |
; For x86-32, it shouldn't be a problem. |
-; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 | FileCheck %s |
+; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 \ |
+; RUN: -allow-externally-defined-symbols | FileCheck %s |
; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented) |
; once enough infrastructure is in. Also, switch to --filetype=obj |
@@ -17,7 +18,7 @@ |
; ARM has a shifter that allows encoding 8-bits rotated right by even amounts. |
; The first few "rotate right" test cases are expressed as shift-left. |
-define i32 @ret_8bits_shift_left0() { |
+define internal i32 @ret_8bits_shift_left0() { |
ret i32 255 |
} |
; CHECK-LABEL: ret_8bits_shift_left0 |
@@ -25,7 +26,7 @@ define i32 @ret_8bits_shift_left0() { |
; ARM32-LABEL: ret_8bits_shift_left0 |
; ARM32-NEXT: mov r0, #255 |
-define i32 @ret_8bits_shift_left1() { |
+define internal i32 @ret_8bits_shift_left1() { |
ret i32 510 |
} |
; CHECK-LABEL: ret_8bits_shift_left1 |
@@ -33,7 +34,7 @@ define i32 @ret_8bits_shift_left1() { |
; ARM32-LABEL: ret_8bits_shift_left1 |
; ARM32-NEXT: movw r0, #510 |
-define i32 @ret_8bits_shift_left2() { |
+define internal i32 @ret_8bits_shift_left2() { |
ret i32 1020 |
} |
; CHECK-LABEL: ret_8bits_shift_left2 |
@@ -41,7 +42,7 @@ define i32 @ret_8bits_shift_left2() { |
; ARM32-LABEL: ret_8bits_shift_left2 |
; ARM32-NEXT: mov r0, #1020 |
-define i32 @ret_8bits_shift_left4() { |
+define internal i32 @ret_8bits_shift_left4() { |
ret i32 4080 |
} |
; CHECK-LABEL: ret_8bits_shift_left4 |
@@ -49,7 +50,7 @@ define i32 @ret_8bits_shift_left4() { |
; ARM32-LABEL: ret_8bits_shift_left4 |
; ARM32-NEXT: mov r0, #4080 |
-define i32 @ret_8bits_shift_left14() { |
+define internal i32 @ret_8bits_shift_left14() { |
ret i32 4177920 |
} |
; CHECK-LABEL: ret_8bits_shift_left14 |
@@ -57,7 +58,7 @@ define i32 @ret_8bits_shift_left14() { |
; ARM32-LABEL: ret_8bits_shift_left14 |
; ARM32-NEXT: mov r0, #4177920 |
-define i32 @ret_8bits_shift_left15() { |
+define internal i32 @ret_8bits_shift_left15() { |
ret i32 8355840 |
} |
; CHECK-LABEL: ret_8bits_shift_left15 |
@@ -68,7 +69,7 @@ define i32 @ret_8bits_shift_left15() { |
; Shift 8 bits left by 24 to the i32 limit. This is also ror by 8 bits. |
-define i32 @ret_8bits_shift_left24() { |
+define internal i32 @ret_8bits_shift_left24() { |
ret i32 4278190080 |
} |
; CHECK-LABEL: ret_8bits_shift_left24 |
@@ -79,7 +80,7 @@ define i32 @ret_8bits_shift_left24() { |
; The next few cases wrap around and actually demonstrate the rotation. |
-define i32 @ret_8bits_ror7() { |
+define internal i32 @ret_8bits_ror7() { |
ret i32 4261412865 |
} |
; CHECK-LABEL: ret_8bits_ror7 |
@@ -88,7 +89,7 @@ define i32 @ret_8bits_ror7() { |
; ARM32-NEXT: movw r0, #1 |
; ARM32-NEXT: movt r0, #65024 |
-define i32 @ret_8bits_ror6() { |
+define internal i32 @ret_8bits_ror6() { |
ret i32 4227858435 |
} |
; CHECK-LABEL: ret_8bits_ror6 |
@@ -97,7 +98,7 @@ define i32 @ret_8bits_ror6() { |
; ARM32-NEXT: mov r0, #-67108861 |
; ARM32-NEXT: bx lr |
-define i32 @ret_8bits_ror5() { |
+define internal i32 @ret_8bits_ror5() { |
ret i32 4160749575 |
} |
; CHECK-LABEL: ret_8bits_ror5 |
@@ -106,7 +107,7 @@ define i32 @ret_8bits_ror5() { |
; ARM32-NEXT: movw r0, #7 |
; ARM32-NEXT: movt r0, #63488 |
-define i32 @ret_8bits_ror4() { |
+define internal i32 @ret_8bits_ror4() { |
ret i32 4026531855 |
} |
; CHECK-LABEL: ret_8bits_ror4 |
@@ -115,7 +116,7 @@ define i32 @ret_8bits_ror4() { |
; ARM32-NEXT: mov r0, #-268435441 |
; ARM32-NEXT: bx lr |
-define i32 @ret_8bits_ror3() { |
+define internal i32 @ret_8bits_ror3() { |
ret i32 3758096415 |
} |
; CHECK-LABEL: ret_8bits_ror3 |
@@ -124,7 +125,7 @@ define i32 @ret_8bits_ror3() { |
; ARM32-NEXT: movw r0, #31 |
; ARM32-NEXT: movt r0, #57344 |
-define i32 @ret_8bits_ror2() { |
+define internal i32 @ret_8bits_ror2() { |
ret i32 3221225535 |
} |
; CHECK-LABEL: ret_8bits_ror2 |
@@ -133,7 +134,7 @@ define i32 @ret_8bits_ror2() { |
; ARM32-NEXT: mov r0, #-1073741761 |
; ARM32-NEXT: bx lr |
-define i32 @ret_8bits_ror1() { |
+define internal i32 @ret_8bits_ror1() { |
ret i32 2147483775 |
} |
; CHECK-LABEL: ret_8bits_ror1 |
@@ -145,7 +146,7 @@ define i32 @ret_8bits_ror1() { |
; Some architectures can handle 16-bits at a time efficiently, |
; so also test those. |
-define i32 @ret_16bits_lower() { |
+define internal i32 @ret_16bits_lower() { |
ret i32 65535 |
} |
; CHECK-LABEL: ret_16bits_lower |
@@ -154,7 +155,7 @@ define i32 @ret_16bits_lower() { |
; ARM32-NEXT: movw r0, #65535 |
; ARM32-NEXT: bx lr |
-define i32 @ret_17bits_lower() { |
+define internal i32 @ret_17bits_lower() { |
ret i32 131071 |
} |
; CHECK-LABEL: ret_17bits_lower |
@@ -163,7 +164,7 @@ define i32 @ret_17bits_lower() { |
; ARM32-NEXT: movw r0, #65535 |
; ARM32-NEXT: movt r0, #1 |
-define i32 @ret_16bits_upper() { |
+define internal i32 @ret_16bits_upper() { |
ret i32 4294901760 |
} |
; CHECK-LABEL: ret_16bits_upper |
@@ -174,7 +175,7 @@ define i32 @ret_16bits_upper() { |
; Some 32-bit immediates can be inverted, and moved in a single instruction. |
-define i32 @ret_8bits_inverted_shift_left0() { |
+define internal i32 @ret_8bits_inverted_shift_left0() { |
ret i32 4294967040 |
} |
; CHECK-LABEL: ret_8bits_inverted_shift_left0 |
@@ -183,7 +184,7 @@ define i32 @ret_8bits_inverted_shift_left0() { |
; ARM32-NEXT: mvn r0, #255 |
; ARM32-NEXT: bx lr |
-define i32 @ret_8bits_inverted_shift_left24() { |
+define internal i32 @ret_8bits_inverted_shift_left24() { |
ret i32 16777215 |
} |
; CHECK-LABEL: ret_8bits_inverted_shift_left24 |
@@ -192,7 +193,7 @@ define i32 @ret_8bits_inverted_shift_left24() { |
; ARM32-NEXT: mvn r0, #-16777216 |
; ARM32-NEXT: bx lr |
-define i32 @ret_8bits_inverted_ror2() { |
+define internal i32 @ret_8bits_inverted_ror2() { |
ret i32 1073741760 |
} |
; CHECK-LABEL: ret_8bits_inverted_ror2 |
@@ -201,7 +202,7 @@ define i32 @ret_8bits_inverted_ror2() { |
; ARM32-NEXT: mvn r0, #-1073741761 |
; ARM32-NEXT: bx lr |
-define i32 @ret_8bits_inverted_ror6() { |
+define internal i32 @ret_8bits_inverted_ror6() { |
ret i32 67108860 |
} |
; CHECK-LABEL: ret_8bits_inverted_ror6 |
@@ -210,7 +211,7 @@ define i32 @ret_8bits_inverted_ror6() { |
; ARM32-NEXT: mvn r0, #-67108861 |
; ARM32-NEXT: bx lr |
-define i32 @ret_8bits_inverted_ror7() { |
+define internal i32 @ret_8bits_inverted_ror7() { |
ret i32 33554430 |
} |
; CHECK-LABEL: ret_8bits_inverted_ror7 |
@@ -221,7 +222,7 @@ define i32 @ret_8bits_inverted_ror7() { |
; 64-bit immediates. |
-define i64 @ret_64bits_shift_left0() { |
+define internal i64 @ret_64bits_shift_left0() { |
ret i64 1095216660735 |
} |
; CHECK-LABEL: ret_64bits_shift_left0 |
@@ -236,7 +237,7 @@ define i64 @ret_64bits_shift_left0() { |
declare void @_start() |
-define i32 @ret_addr() { |
+define internal i32 @ret_addr() { |
%ptr = ptrtoint void ()* @_start to i32 |
ret i32 %ptr |
} |