xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/2011-09-21-setcc-bug.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=x86-64 -mcpu=corei7 -mattr=+sse4.1
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; Make sure we are not crashing on this code.
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdefine void @load_4_i8(<4 x i8>* %k, <4 x i8>* %y, <4 x double>* %A1, <4 x double>* %A0)  {
6*9880d681SAndroid Build Coastguard Worker   %A = load <4 x i8>, <4 x i8>* %k
7*9880d681SAndroid Build Coastguard Worker   %B = load <4 x i8>, <4 x i8>* %y
8*9880d681SAndroid Build Coastguard Worker   %C = load <4 x double>, <4 x double>* %A0
9*9880d681SAndroid Build Coastguard Worker   %D= load <4 x double>, <4 x double>* %A1
10*9880d681SAndroid Build Coastguard Worker   %M = icmp uge <4 x i8> %A, %B
11*9880d681SAndroid Build Coastguard Worker   %T = select <4 x i1> %M, <4 x double> %C, <4 x double> %D
12*9880d681SAndroid Build Coastguard Worker   store <4 x double> %T, <4 x double>* undef
13*9880d681SAndroid Build Coastguard Worker   ret void
14*9880d681SAndroid Build Coastguard Worker}
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workerdefine void @load_256_i8(<256 x i8>* %k, <256 x i8>* %y, <256 x double>* %A1, <256 x double>* %A0)  {
18*9880d681SAndroid Build Coastguard Worker   %A = load <256 x i8>, <256 x i8>* %k
19*9880d681SAndroid Build Coastguard Worker   %B = load <256 x i8>, <256 x i8>* %y
20*9880d681SAndroid Build Coastguard Worker   %C = load <256 x double>, <256 x double>* %A0
21*9880d681SAndroid Build Coastguard Worker   %D= load <256 x double>, <256 x double>* %A1
22*9880d681SAndroid Build Coastguard Worker   %M = icmp uge <256 x i8> %A, %B
23*9880d681SAndroid Build Coastguard Worker   %T = select <256 x i1> %M, <256 x double> %C, <256 x double> %D
24*9880d681SAndroid Build Coastguard Worker   store <256 x double> %T, <256 x double>* undef
25*9880d681SAndroid Build Coastguard Worker   ret void
26*9880d681SAndroid Build Coastguard Worker}
27*9880d681SAndroid Build Coastguard Worker
28