mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-22 10:33:23 +00:00
aa5b9c0f6f
be deleted. This will be reapplied as soon as possible and before the 3.6 branch date at any rate. Approved by Jim Grosbach, Lang Hames, Rafael Espindola. This reverts commits r215111, 215115, 215116, 215117, 215136. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215154 91177308-0d34-0410-b5e6-96231b3b80d8
22 lines
583 B
LLVM
22 lines
583 B
LLVM
; RUN: %lli_mcjit %s > /dev/null
|
|
|
|
define i32 @foo(i32 %x, i32 %y, double %d) {
|
|
entry:
|
|
%d.int64 = bitcast double %d to i64
|
|
%d.top64 = lshr i64 %d.int64, 32
|
|
%d.top = trunc i64 %d.top64 to i32
|
|
%d.bottom = trunc i64 %d.int64 to i32
|
|
%topCorrect = icmp eq i32 %d.top, 3735928559
|
|
%bottomCorrect = icmp eq i32 %d.bottom, 4277009102
|
|
%right = and i1 %topCorrect, %bottomCorrect
|
|
%nRight = xor i1 %right, true
|
|
%retVal = zext i1 %nRight to i32
|
|
ret i32 %retVal
|
|
}
|
|
|
|
define i32 @main() {
|
|
entry:
|
|
%call = call i32 @foo(i32 0, i32 1, double 0xDEADBEEFFEEDFACE)
|
|
ret i32 %call
|
|
}
|