xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/2009-03-09-SpillerBug.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=i386-pc-linux-gnu
2*9880d681SAndroid Build Coastguard Worker; PR3706
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine void @__mulxc3(x86_fp80 %b) nounwind {
5*9880d681SAndroid Build Coastguard Workerentry:
6*9880d681SAndroid Build Coastguard Worker	%call = call x86_fp80 @y(x86_fp80* null, x86_fp80* null)		; <x86_fp80> [#uses=0]
7*9880d681SAndroid Build Coastguard Worker	%cmp = fcmp ord x86_fp80 %b, 0xK00000000000000000000		; <i1> [#uses=1]
8*9880d681SAndroid Build Coastguard Worker	%sub = fsub x86_fp80 %b, %b		; <x86_fp80> [#uses=1]
9*9880d681SAndroid Build Coastguard Worker	%cmp7 = fcmp uno x86_fp80 %sub, 0xK00000000000000000000		; <i1> [#uses=1]
10*9880d681SAndroid Build Coastguard Worker	%and12 = and i1 %cmp7, %cmp		; <i1> [#uses=1]
11*9880d681SAndroid Build Coastguard Worker	%and = zext i1 %and12 to i32		; <i32> [#uses=1]
12*9880d681SAndroid Build Coastguard Worker	%conv9 = sitofp i32 %and to x86_fp80		; <x86_fp80> [#uses=1]
13*9880d681SAndroid Build Coastguard Worker	store x86_fp80 %conv9, x86_fp80* null
14*9880d681SAndroid Build Coastguard Worker	store x86_fp80 %b, x86_fp80* null
15*9880d681SAndroid Build Coastguard Worker	ret void
16*9880d681SAndroid Build Coastguard Worker}
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Workerdeclare x86_fp80 @y(x86_fp80*, x86_fp80*)
19