mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 00:11:00 +00:00
Use FileCheck for test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234774 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a50a335767
commit
fabde10209
@ -1,21 +1,25 @@
|
||||
; RUN: llc -o - %s
|
||||
; RUN: llc -o - %s | FileCheck %s
|
||||
; The selection DAG select(select()) normalisation crashed for different types
|
||||
; on the condition inputs.
|
||||
target datalayout = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
|
||||
target triple = "mips--"
|
||||
|
||||
define i64 @foobar(double %a) #0 {
|
||||
; CHECK-LABEL: foobar
|
||||
; CHECK: sltiu ${{[0-9]*}}, ${{[0-9]*}}, 42
|
||||
; CHECK: sltiu ${{[0-9]*}}, ${{[0-9]*}}, 23
|
||||
; CHECK: and ${{[0-9]*}}, ${{[0-9]*}}, ${{[0-9]*}}
|
||||
; CHECK: sltu ${{[0-9]*}}, ${{[0-9]*}}, ${{[0-9]*}}
|
||||
; CHECK: addiu ${{[0-9]*}}, ${{[0-9]*}}, -1
|
||||
; CHECK: movn ${{[0-9]*}}, ${{[0-9]*}}, ${{[0-9]*}}
|
||||
; CHECK: jr $ra
|
||||
; CHECK: move ${{[0-9]*}}, ${{[0-9]*}}
|
||||
define i64 @foobar(i32 %arg) #0 {
|
||||
entry:
|
||||
%0 = bitcast double %a to i64
|
||||
%trunc = trunc i64 %0 to i32
|
||||
%and = and i32 %trunc, 32767
|
||||
%sub = add nsw i32 %and, -16383
|
||||
%cmp = icmp ugt i32 %and, 16382
|
||||
%and5 = and i32 %trunc, 32768
|
||||
%tobool = icmp eq i32 %and5, 0
|
||||
%or = and i1 %cmp, %tobool
|
||||
%cmp6 = icmp ugt i32 %sub, 64
|
||||
%sext = sext i1 %cmp6 to i64
|
||||
%retval.0 = select i1 %or, i64 %sext, i64 0
|
||||
%cmp0 = icmp ult i32 %arg, 23
|
||||
%cmp1 = icmp ult i32 %arg, 42
|
||||
%and = and i1 %cmp0, %cmp1
|
||||
%cmp2 = icmp ugt i32 %arg, 0
|
||||
%sext = sext i1 %cmp1 to i64
|
||||
%retval.0 = select i1 %and, i64 %sext, i64 0
|
||||
ret i64 %retval.0
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user