2009-09-20 00:04:02 +00:00
|
|
|
; RUN: llvm-as < %s | llvm-dis | FileCheck %s
|
|
|
|
|
|
|
|
@X = external global i8
|
|
|
|
@Y = external global i8
|
|
|
|
@Z = external global i8
|
|
|
|
|
|
|
|
global i1 add (i1 icmp ult (i8* @X, i8* @Y), i1 icmp ult (i8* @X, i8* @Z))
|
|
|
|
; CHECK: xor
|
|
|
|
global i1 sub (i1 icmp ult (i8* @X, i8* @Y), i1 icmp ult (i8* @X, i8* @Z))
|
|
|
|
; CHECK: xor
|
|
|
|
global i1 mul (i1 icmp ult (i8* @X, i8* @Y), i1 icmp ult (i8* @X, i8* @Z))
|
|
|
|
; CHECK: and
|
|
|
|
|
|
|
|
global i1 sdiv (i1 icmp ult (i8* @X, i8* @Y), i1 icmp ult (i8* @X, i8* @Z))
|
|
|
|
; CHECK-NOT: @Z
|
|
|
|
; CHECK: i1 icmp ult (i8* @X, i8* @Y)
|
|
|
|
global i1 udiv (i1 icmp ult (i8* @X, i8* @Y), i1 icmp ult (i8* @X, i8* @Z))
|
|
|
|
; CHECK-NOT: @Z
|
|
|
|
; CHECK: i1 icmp ult (i8* @X, i8* @Y)
|
|
|
|
global i1 srem (i1 icmp ult (i8* @X, i8* @Y), i1 icmp ult (i8* @X, i8* @Z))
|
|
|
|
; CHECK-NOT: icmp
|
|
|
|
; CHECK: i1 false
|
|
|
|
global i1 urem (i1 icmp ult (i8* @X, i8* @Y), i1 icmp ult (i8* @X, i8* @Z))
|
|
|
|
; CHECK-NOT: icmp
|
|
|
|
; CHECK: i1 false
|
2009-09-20 05:48:50 +00:00
|
|
|
|
|
|
|
global i1 icmp ule (i32* bitcast (i8* @X to i32*), i32* bitcast (i8* @Y to i32*))
|
|
|
|
; CHECK-NOT: bitcast
|
|
|
|
; CHECK: icmp
|
|
|
|
|
2009-09-20 06:24:51 +00:00
|
|
|
global i1 icmp eq (i1 icmp ult (i8* @X, i8* @Y), i1 false)
|
|
|
|
; CHECK-NOT: false
|
|
|
|
; CHECK: icmp
|
|
|
|
global i1 icmp eq (i1 icmp ult (i8* @X, i8* @Y), i1 true)
|
|
|
|
; CHECK-NOT: true
|
|
|
|
; CHECK: icmp
|