llvm.org GIT mirror llvm / 1cf7708
Split out small-code-model MCJIT testcase in order to xfail for AArch64, where PC-rel relocations aren't yet fully implemented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200592 91177308-0d34-0410-b5e6-96231b3b80d8 Lang Hames 6 years ago
2 changed file(s) with 25 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
0 ; RUN: %lli_mcjit -code-model=small %s > /dev/null
1 ; XFAIL: aarch64
2 ;
3 ; FIXME: Merge this file with non-extern-addend.ll once AArch64 supports PC-rel
4 ; relocations in ELF. (The code is identical, only the run line differs).
5 ;
6 define i32 @foo(i32 %x, i32 %y, double %d) {
7 entry:
8 %d.int64 = bitcast double %d to i64
9 %d.top64 = lshr i64 %d.int64, 32
10 %d.top = trunc i64 %d.top64 to i32
11 %d.bottom = trunc i64 %d.int64 to i32
12 %topCorrect = icmp eq i32 %d.top, 3735928559
13 %bottomCorrect = icmp eq i32 %d.bottom, 4277009102
14 %right = and i1 %topCorrect, %bottomCorrect
15 %nRight = xor i1 %right, true
16 %retVal = zext i1 %nRight to i32
17 ret i32 %retVal
18 }
19
20 define i32 @main() {
21 entry:
22 %call = call i32 @foo(i32 0, i32 1, double 0xDEADBEEFFEEDFACE)
23 ret i32 %call
24 }
0 ; RUN: %lli_mcjit %s > /dev/null
1 ; RUN: %lli_mcjit -code-model=small %s > /dev/null
21
32 define i32 @foo(i32 %x, i32 %y, double %d) {
43 entry: