Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

APInt::trunc(unsigned int) const: Assertion `width < BitWidth && "Invalid APInt Truncate request"' failed. #10822

Closed Quuxplusone closed 13 years ago

Quuxplusone commented 13 years ago
Bugzilla Link PR10563
Status RESOLVED FIXED
Importance P normal
Reported by Nadav Rotem (nadav.rotem@me.com)
Reported on 2011-08-02 04:48:51 -0700
Last modified on 2011-08-02 13:39:15 -0700
Version trunk
Hardware PC Windows NT
CC baldrick@free.fr, efriedma@quicinc.com, llvm-bugs@lists.llvm.org
Fixed by commit(s)
Attachments fail_74349.ll.log (34255 bytes, application/octet-stream)
Blocks
Blocked by
See also
Created attachment 6999
LL file reproducing the problem

llc: APInt.cpp:1007: llvm::APInt llvm::APInt::trunc(unsigned int) const:
Assertion `width < BitWidth && "Invalid APInt Truncate request"' failed.
0  llc             0x0000000001549f06
1  llc             0x000000000154a494
2  libpthread.so.0 0x00002aaaaabd4d60
3  libc.so.6       0x00002aaaab274f45 gsignal + 53
4  libc.so.6       0x00002aaaab276340 abort + 272
5  libc.so.6       0x00002aaaab26e486 __assert_fail + 246
6  llc             0x000000000151b6f2 llvm::APInt::trunc(unsigned int) const +
62
7  llc             0x0000000000fa0dca llvm::SelectionDAG::getNode(unsigned int,
llvm::DebugLoc, llvm::EVT, llvm::SDValue, llvm::SDValue) + 7784
8  llc             0x0000000000e8809e
llvm::X86TargetLowering::LowerUINT_TO_FP_i32(llvm::SDValue,
llvm::SelectionDAG&) const + 376
9  llc             0x0000000000eaa470
llvm::X86TargetLowering::LowerUINT_TO_FP(llvm::SDValue, llvm::SelectionDAG&)
const + 766
10 llc             0x0000000000ebaccb
llvm::X86TargetLowering::LowerOperation(llvm::SDValue, llvm::SelectionDAG&)
const + 1045
11 llc             0x000000000104203e (anonymous
namespace)::SelectionDAGLegalize::LegalizeOp(llvm::SDValue) + 4088
12 llc             0x00000000010570d3 (anonymous
namespace)::SelectionDAGLegalize::LegalizeDAG() + 179
13 llc             0x00000000010571f1 llvm::SelectionDAG::Legalize() + 49
14 llc             0x0000000000ffe7e8
llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 2424
15 llc             0x000000000100054e
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction
const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) + 230
16 llc             0x0000000001000eb0
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 2400
17 llc             0x000000000100142f
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 849
18 llc             0x000000000114c971
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 85
19 llc             0x0000000001484137
llvm::FPPassManager::runOnFunction(llvm::Function&) + 371
20 llc             0x000000000148432f
llvm::FPPassManager::runOnModule(llvm::Module&) + 81
21 llc             0x0000000001483de3
llvm::MPPassManager::runOnModule(llvm::Module&) + 381
22 llc             0x0000000001485598 llvm::PassManagerImpl::run(llvm::Module&)
+ 116
23 llc             0x00000000014855fb llvm::PassManager::run(llvm::Module&) + 33
24 llc             0x0000000000ab884d main + 2403
25 libc.so.6       0x00002aaaab262304 __libc_start_main + 244
26 llc             0x0000000000ab6f99
Stack dump:
0.  Program arguments: ../llc temp.ll -march=x86 -mattr=+sse2,+sse41 -o /dev/null
1.  Running pass 'Function Pass Manager' on module 'temp.ll'.
2.  Running pass 'X86 DAG->DAG Instruction Selection' on function
'@autogen_74349_5000'
; ModuleID = 'bugpoint-reduced-simplified.bc'
target triple = "x86_64-unknown-linux-gnu"

define void @autogen_74349_5000(i8*, i32*, i64*, i32, i8, i64) {
BB:
  %A4 = alloca <2 x i32>
  %A3 = alloca <2 x i64>
  %A2 = alloca <2 x i32>
  %A1 = alloca <2 x double>
  %A = alloca <2 x float>
  %L = load i8* %0
  store i8 -1, i8* %0
  %E = extractelement <8 x float> undef, i32 3
  %E5 = extractelement <32 x float> undef, i32 16
  %Shuff = shufflevector <8 x float> undef, <8 x float> undef, <8 x i32> <i32 6, i32 8, i32 10, i32 12, i32 14, i32 0, i32 2, i32 undef>
  %Shuff6 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 8, i32 10, i32 12, i32 14, i32 0, i32 2, i32 4, i32 6>
  %Shuff7 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 10, i32 12, i32 14, i32 0, i32 undef, i32 4, i32 6, i32 8>
  %I = insertelement <8 x float> %Shuff, float 0x3EC963BF00000000, i32 4
  %B = and i8 -1, -1
  %PC = bitcast <2 x i32>* %A2 to i32*
  %S = select i1 true, i32 124099, i32 %3
  %L8 = load i8* %0
  store i32 0, i32* %PC
  %E9 = extractelement <8 x float> %Shuff, i32 3
  %E10 = extractelement <8 x float> %Shuff, i32 5
  %Shuff11 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 undef, i32 undef, i32 4, i32 undef, i32 8, i32 10, i32 12, i32 undef>
  %Shuff12 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 2, i32 4, i32 undef, i32 8, i32 undef, i32 12, i32 14, i32 0>
  %Shuff13 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 4, i32 6, i32 8, i32 10, i32 undef, i32 14, i32 0, i32 2>
  %I14 = insertelement <8 x float> %Shuff, float 0x3ED7FC0DA0000000, i32 6
  %B15 = xor i64 %5, 171975
  %PC16 = bitcast i64* %2 to i64*
  %S17 = select i1 true, i8 -21, i8 %B
  %L18 = load i64* %PC16
  store i32 -1, i32* %PC
  %E19 = extractelement <8 x float> %Shuff13, i32 0
  %E20 = extractelement <8 x float> %Shuff, i32 2
  %Shuff21 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff11, <8 x i32> <i32 13, i32 15, i32 1, i32 undef, i32 5, i32 7, i32 9, i32 11>
  %Shuff22 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 15, i32 undef, i32 3, i32 5, i32 undef, i32 undef, i32 11, i32 13>
  %Shuff23 = shufflevector <8 x float> %Shuff13, <8 x float> %Shuff, <8 x i32> <i32 1, i32 undef, i32 5, i32 7, i32 9, i32 undef, i32 13, i32 15>
  %I24 = insertelement <8 x float> %Shuff, float 0x3ED7FC0DA0000000, i32 3
  %FC = fptoui <8 x float> %I14 to <8 x i1>
  %S25 = select i1 true, i64 408739, i64 %5
  %S26 = icmp ult i64 0, 171975
  %L27 = load <2 x i32>* %A2
  store i32 %3, i32* %PC
  %E28 = extractelement <8 x float> %Shuff21, i32 4
  %E29 = extractelement <8 x float> %Shuff, i32 6
  %Shuff30 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff21, <8 x i32> <i32 1, i32 3, i32 5, i32 7, i32 undef, i32 11, i32 13, i32 undef>
  %Shuff31 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 undef, i32 5, i32 7, i32 9, i32 undef, i32 undef, i32 15, i32 1>
  %Shuff32 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 5, i32 7, i32 9, i32 11, i32 13, i32 15, i32 undef, i32 3>
  %I33 = insertelement <8 x float> %Shuff13, float %E29, i32 7
  %B34 = sub i32 -1, %3
  %FC35 = fptoui double 0x3EEED9227F419BDF to i1
  %S36 = select i1 true, double 0x3EE3CB298BF7FCE3, double 0x3EEED9227F419BDF
  %L37 = load i32* %PC
  store i32 %B34, i32* %PC
  %E38 = extractelement <8 x float> %Shuff, i32 4
  %E39 = extractelement <8 x float> %Shuff11, i32 6
  %Shuff40 = shufflevector <2 x i32> %L27, <2 x i32> %L27, <2 x i32> <i32 1, i32 3>
  %Shuff41 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 15, i32 1, i32 3, i32 5, i32 7, i32 9, i32 undef, i32 13>
  %Shuff42 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff30, <8 x i32> <i32 1, i32 3, i32 5, i32 7, i32 9, i32 11, i32 13, i32 15>
  %I43 = insertelement <8 x float> %Shuff, float 0x3ED7FC0DA0000000, i32 3
  %B44 = srem i1 false, true
  %PC45 = bitcast <2 x double>* %A1 to double*
  %S46 = select i1 true, i64 0, i64 %5
  %S47 = icmp slt i1 %FC35, %FC35
  %L48 = load double* %PC45
  store double %S36, double* %PC45
  %E49 = extractelement <8 x float> %I43, i32 7
  %E50 = extractelement <8 x float> %Shuff, i32 1
  %Shuff51 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff23, <8 x i32> <i32 undef, i32 6, i32 undef, i32 10, i32 12, i32 14, i32 0, i32 undef>
  %Shuff52 = shufflevector <2 x i32> %Shuff40, <2 x i32> %L27, <2 x i32> <i32 undef, i32 0>
  %Shuff53 = shufflevector <2 x i32> %L27, <2 x i32> %L27, <2 x i32> <i32 undef, i32 2>
  %I54 = insertelement <8 x float> %Shuff51, float %E29, i32 2
  %B55 = sub i64 %S46, 171975
  %S56 = select i1 %S26, float %E38, float %E19
  %S57 = fcmp ord <8 x float> %I54, %Shuff6
  %L58 = load i32* %PC
  store double 0x3EEED9227F419BDF, double* %PC45
  %E59 = extractelement <8 x float> %Shuff, i32 0
  %E60 = extractelement <2 x i32> %Shuff40, i32 0
  %Shuff61 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff12, <8 x i32> <i32 13, i32 15, i32 1, i32 3, i32 5, i32 7, i32 9, i32 11>
  %Shuff62 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 undef, i32 1, i32 undef, i32 5, i32 undef, i32 9, i32 11, i32 13>
  %Shuff63 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff51, <8 x i32> <i32 1, i32 3, i32 5, i32 7, i32 9, i32 11, i32 13, i32 15>
  %I64 = insertelement <8 x float> %Shuff, float %E29, i32 3
  %Tr = trunc i16 -1 to i1
  %S65 = select i1 true, i32 %S, i32 %B34
  %S66 = icmp uge <8 x i1> %S57, %FC
  %L67 = load double* %PC45
  store i32 %L58, i32* %PC
  %E68 = extractelement <8 x float> %Shuff61, i32 5
  %E69 = extractelement <8 x float> %Shuff, i32 7
  %Shuff70 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14, i32 0>
  %Shuff71 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff61, <8 x i32> <i32 undef, i32 6, i32 8, i32 10, i32 12, i32 14, i32 undef, i32 2>
  %Shuff72 = shufflevector <2 x i32> %Shuff40, <2 x i32> %L27, <2 x i32> <i32 2, i32 undef>
  %I73 = insertelement <8 x float> %Shuff70, float 0x3EC963BF00000000, i32 4
  %B74 = or i32 -1, %L58
  %Tr75 = trunc i32 124099 to i1
  %S76 = select i1 true, i8 %S17, i8 %4
  %L77 = load i32* %PC
  store double %S36, double* %PC45
  %E78 = extractelement <8 x float> %I43, i32 1
  %E79 = extractelement <8 x float> %Shuff, i32 3
  %Shuff80 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff51, <8 x i32> <i32 14, i32 0, i32 2, i32 4, i32 undef, i32 8, i32 10, i32 12>
  %Shuff81 = shufflevector <8 x float> %Shuff51, <8 x float> %I33, <8 x i32> <i32 0, i32 undef, i32 undef, i32 6, i32 undef, i32 10, i32 undef, i32 14>
  %Shuff82 = shufflevector <2 x i32> %Shuff40, <2 x i32> %L27, <2 x i32> <i32 2, i32 undef>
  %I83 = insertelement <8 x float> %Shuff, float %E28, i32 0
  %B84 = mul <2 x i32> %Shuff40, %L27
  %ZE = fpext float %E38 to double
  %S85 = select i1 %Tr, float %E, float %E38
  %S86 = fcmp ole float %E50, %E49
  %L87 = load i32* %PC
  store i8 %L, i8* %0
  %E88 = extractelement <8 x float> %I, i32 4
  %E89 = extractelement <8 x float> %Shuff32, i32 6
  %Shuff90 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 1, i32 3, i32 5, i32 undef, i32 9, i32 11, i32 undef, i32 15>
  %Shuff91 = shufflevector <8 x float> %Shuff, <8 x float> %I73, <8 x i32> <i32 3, i32 5, i32 undef, i32 9, i32 11, i32 13, i32 15, i32 1>
  %Shuff92 = shufflevector <2 x i32> %Shuff40, <2 x i32> %Shuff82, <2 x i32> <i32 1, i32 3>
  %I93 = insertelement <8 x i1> %FC, i1 %S26, i32 3
  %B94 = udiv <2 x i32> %Shuff53, %Shuff40
  %FC95 = fptosi <8 x float> %Shuff81 to <8 x i1>
  %S96 = select i1 %S26, double %S36, double 0x3EEED9227F419BDF
  %S97 = fcmp ogt float %E88, 0x3EC963BF00000000
  %L98 = load i8* %0
  store i8 %4, i8* %0
  %E99 = extractelement <8 x float> %Shuff7, i32 6
  %E100 = extractelement <2 x i32> %L27, i32 0
  %Shuff101 = shufflevector <2 x i32> %B94, <2 x i32> %Shuff52, <2 x i32> <i32 3, i32 1>
  %Shuff102 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 9, i32 11, i32 undef, i32 15, i32 1, i32 3, i32 undef, i32 7>
  %Shuff103 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff63, <8 x i32> <i32 11, i32 13, i32 15, i32 1, i32 3, i32 5, i32 7, i32 undef>
  %I104 = insertelement <2 x i32> %Shuff101, i32 %B34, i32 1
  %B105 = mul <8 x i1> %S57, %FC
  %BC = bitcast float %E10 to i32
  %S106 = select i1 true, i8 -77, i8 -77
  %L107 = load i32* %PC
  store double %S36, double* %PC45
  %E108 = extractelement <8 x float> %Shuff51, i32 3
  %E109 = extractelement <8 x float> %Shuff21, i32 5
  %Shuff110 = shufflevector <8 x float> %Shuff61, <8 x float> %Shuff, <8 x i32> <i32 8, i32 undef, i32 12, i32 14, i32 0, i32 2, i32 undef, i32 6>
  %Shuff111 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff103, <8 x i32> <i32 10, i32 undef, i32 14, i32 0, i32 2, i32 undef, i32 6, i32 8>
  %Shuff112 = shufflevector <8 x float> %Shuff30, <8 x float> %Shuff62, <8 x i32> <i32 12, i32 14, i32 0, i32 2, i32 4, i32 6, i32 8, i32 10>
  %I113 = insertelement <8 x float> %Shuff, float %S56, i32 6
  %B114 = fdiv float %E38, 0x3ED7FC0DA0000000
  %FC115 = uitofp <2 x i32> %Shuff82 to <2 x double>
  %S116 = select i1 %S47, <2 x i64>* %A3, <2 x i64>* %A3
  %S117 = fcmp false <8 x float> %I73, %Shuff21
  %L118 = load <2 x i64>* %S116
  store double 0x3EC6E36395BE0B46, double* %PC45
  %E119 = extractelement <2 x i32> %I104, i32 0
  %E120 = extractelement <8 x float> %Shuff, i32 4
  %Shuff121 = shufflevector <8 x float> %Shuff80, <8 x float> %Shuff, <8 x i32> <i32 15, i32 1, i32 3, i32 5, i32 7, i32 9, i32 11, i32 undef>
  %Shuff122 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff112, <8 x i32> <i32 1, i32 3, i32 5, i32 7, i32 9, i32 11, i32 13, i32 15>
  %Shuff123 = shufflevector <8 x float> %Shuff110, <8 x float> %Shuff121, <8 x i32> <i32 3, i32 undef, i32 7, i32 9, i32 11, i32 13, i32 15, i32 1>
  %I124 = insertelement <8 x float> %Shuff21, float %E9, i32 5
  %B125 = fsub float %B114, %E49
  %Se = sext i1 %B44 to i64
  %S126 = select i1 %Tr, float 0x3EDF2BB5C0000000, float %E49
  %S127 = icmp eq <8 x i1> %FC, %FC
  %L128 = load i32* %PC
  store <2 x i64> %L118, <2 x i64>* %S116
  %E129 = extractelement <8 x float> %I73, i32 4
  %E130 = extractelement <8 x i1> %FC, i32 6
  %Shuff131 = shufflevector <8 x float> %Shuff23, <8 x float> %Shuff30, <8 x i32> <i32 1, i32 undef, i32 undef, i32 undef, i32 9, i32 11, i32 13, i32 15>
  %Shuff132 = shufflevector <2 x i32> %Shuff101, <2 x i32> %Shuff40, <2 x i32> undef
  %Shuff133 = shufflevector <8 x float> %Shuff30, <8 x float> %I83, <8 x i32> <i32 9, i32 11, i32 13, i32 undef, i32 undef, i32 3, i32 5, i32 7>
  %I134 = insertelement <8 x float> %Shuff, float %E49, i32 3
  %B135 = frem <8 x float> %I124, %Shuff102
  %BC136 = bitcast i64 408739 to double
  %S137 = select i1 true, float %E79, float 0x3EC963BF00000000
  %S138 = icmp ne i32 389819, %3
  %L139 = load i8* %0
  store double %L67, double* %PC45
  %E140 = extractelement <8 x float> %Shuff90, i32 4
  %E141 = extractelement <8 x float> %Shuff, i32 6
  %Shuff142 = shufflevector <8 x float> %I, <8 x float> %Shuff, <8 x i32> <i32 9, i32 11, i32 13, i32 15, i32 1, i32 3, i32 5, i32 7>
  %Shuff143 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff91, <8 x i32> <i32 11, i32 13, i32 15, i32 1, i32 undef, i32 5, i32 7, i32 9>
  %Shuff144 = shufflevector <8 x float> %Shuff, <8 x float> %I54, <8 x i32> <i32 undef, i32 15, i32 1, i32 3, i32 5, i32 undef, i32 9, i32 11>
  %I145 = insertelement <2 x i32> %Shuff40, i32 389819, i32 1
  %B146 = add <8 x i1> %B105, %FC
  %BC147 = bitcast i32 %B34 to float
  %S148 = select i1 %FC35, float %E9, float %E38
  %S149 = fcmp ule <8 x float> %Shuff70, %Shuff
  %L150 = load <2 x i64>* %S116
  store i8 %4, i8* %0
  %E151 = extractelement <8 x float> %Shuff, i32 1
  %E152 = extractelement <8 x float> %I43, i32 3
  %Shuff153 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff133, <8 x i32> <i32 14, i32 undef, i32 undef, i32 4, i32 6, i32 undef, i32 10, i32 12>
  %Shuff154 = shufflevector <2 x i32> %L27, <2 x i32> %L27, <2 x i32> <i32 undef, i32 2>
  %Shuff155 = shufflevector <8 x float> %Shuff70, <8 x float> %Shuff110, <8 x i32> <i32 6, i32 8, i32 10, i32 12, i32 14, i32 0, i32 2, i32 4>
  %I156 = insertelement <8 x i1> %S57, i1 %E130, i32 0
  %B157 = frem float %E140, %E141
  %S158 = select i1 %E130, i8* %0, i8* %0
  %S159 = fcmp uge <8 x float> %Shuff12, %Shuff80
  %L160 = load <2 x i64>* %S116
  store <2 x i64> %L118, <2 x i64>* %S116
  %E161 = extractelement <8 x float> %B135, i32 7
  %E162 = extractelement <8 x float> %Shuff, i32 1
  %Shuff163 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff102, <8 x i32> <i32 4, i32 6, i32 undef, i32 undef, i32 12, i32 14, i32 0, i32 2>
  %Shuff164 = shufflevector <8 x float> %Shuff21, <8 x float> %Shuff80, <8 x i32> <i32 6, i32 8, i32 undef, i32 12, i32 14, i32 undef, i32 2, i32 4>
  %Shuff165 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff102, <8 x i32> <i32 8, i32 10, i32 12, i32 14, i32 0, i32 2, i32 undef, i32 6>
  %I166 = insertelement <8 x float> %Shuff51, float %E9, i32 2
  %B167 = fdiv float %E38, %E108
  %S168 = select i1 %Tr75, float %B114, float 0x3ED76A4E00000000
  %S169 = fcmp oge float %S148, %E68
  %L170 = load i8* %S158
  store i8 %S76, i8* %S158
  %E171 = extractelement <8 x float> %Shuff51, i32 2
  %E172 = extractelement <2 x i32> %Shuff82, i32 0
  %Shuff173 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff122, <8 x i32> <i32 15, i32 1, i32 3, i32 5, i32 undef, i32 9, i32 undef, i32 13>
  %Shuff174 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 undef, i32 3, i32 5, i32 7, i32 9, i32 11, i32 13, i32 15>
  %Shuff175 = shufflevector <2 x i32> %Shuff40, <2 x i32> %L27, <2 x i32> <i32 3, i32 1>
  %I176 = insertelement <8 x float> %Shuff13, float %B157, i32 1
  %B177 = shl <8 x i1> %S159, %I156
  %L178 = load i8* %S158
  store <2 x i64> %L118, <2 x i64>* %S116
  %E179 = extractelement <2 x i32> %Shuff154, i32 0
  %E180 = extractelement <8 x i1> %FC95, i32 6
  %Shuff181 = shufflevector <2 x i32> %Shuff40, <2 x i32> %Shuff92, <2 x i32> <i32 1, i32 3>
  %Shuff182 = shufflevector <2 x i32> %B84, <2 x i32> %L27, <2 x i32> <i32 3, i32 undef>
  %Shuff183 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 5, i32 7, i32 9, i32 11, i32 13, i32 undef, i32 1, i32 3>
  %I184 = insertelement <8 x float> %Shuff51, float %E151, i32 7
  %B185 = add i64 372743, %S46
  %FC186 = fptosi <8 x float> %Shuff51 to <8 x i32>
  %S187 = select i1 %E130, i32 0, i32 0
  %S188 = icmp ule i64 171975, %S46
  %L189 = load <2 x i64>* %S116
  store <2 x float> undef, <2 x float>* %A
  %E190 = extractelement <8 x float> %Shuff131, i32 5
  %E191 = extractelement <8 x float> %Shuff41, i32 7
  %Shuff192 = shufflevector <8 x float> %Shuff122, <8 x float> %Shuff173, <8 x i32> <i32 10, i32 12, i32 14, i32 0, i32 2, i32 4, i32 6, i32 8>
  %Shuff193 = shufflevector <8 x i1> %S149, <8 x i1> %FC, <8 x i32> <i32 12, i32 14, i32 0, i32 undef, i32 4, i32 undef, i32 undef, i32 10>
  %Shuff194 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff153, <8 x i32> <i32 undef, i32 0, i32 2, i32 4, i32 undef, i32 8, i32 10, i32 12>
  %I195 = insertelement <8 x float> %Shuff, float %E88, i32 0
  %B196 = lshr i8 -1, %L170
  %ZE197 = zext i1 false to i32
  %S198 = select i1 %E180, float 0x3ED7FC0DA0000000, float %B157
  %L199 = load <2 x i64>* %S116
  store double %S36, double* %PC45
  %E200 = extractelement <2 x i32> %B84, i32 1
  %E201 = extractelement <8 x float> %Shuff21, i32 7
  %Shuff202 = shufflevector <8 x float> %Shuff70, <8 x float> %Shuff173, <8 x i32> <i32 2, i32 4, i32 6, i32 8, i32 10, i32 undef, i32 undef, i32 0>
  %Shuff203 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff131, <8 x i32> <i32 4, i32 6, i32 undef, i32 10, i32 12, i32 14, i32 0, i32 2>
  %Shuff204 = shufflevector <2 x i32> %I104, <2 x i32> %L27, <2 x i32> <i32 2, i32 0>
  %I205 = insertelement <8 x i1> %S159, i1 %Tr, i32 4
  %ZE206 = zext i32 %L37 to i64
  %S207 = select i1 %Tr75, i8 %S106, i8 %L98
  %S208 = icmp ult i64 %B15, %B185
  %L209 = load <2 x i64>* %S116
  store <2 x i64> %L150, <2 x i64>* %S116
  %E210 = extractelement <8 x i1> %S159, i32 3
  %E211 = extractelement <8 x i1> %S127, i32 5
  %Shuff212 = shufflevector <8 x float> %Shuff80, <8 x float> %Shuff, <8 x i32> <i32 8, i32 10, i32 undef, i32 14, i32 0, i32 2, i32 undef, i32 undef>
  %Shuff213 = shufflevector <2 x i32> %B84, <2 x i32> %L27, <2 x i32> <i32 2, i32 0>
  %Shuff214 = shufflevector <2 x i32> %Shuff213, <2 x i32> %Shuff213, <2 x i32> <i32 0, i32 2>
  %I215 = insertelement <8 x float> %Shuff142, float %B157, i32 6
  %B216 = srem <2 x i32> %Shuff92, %Shuff132
  %ZE217 = zext i8 %L8 to i16
  %S218 = select i1 %E130, double %S36, double 0x3EE3CB298BF7FCE3
  %S219 = icmp ule i64 25071, %B185
  %L220 = load i32* %PC
  store i8 %L, i8* %0
  %E221 = extractelement <8 x float> %Shuff80, i32 2
  %E222 = extractelement <8 x float> %Shuff, i32 4
  %Shuff223 = shufflevector <8 x float> %Shuff164, <8 x float> %Shuff103, <8 x i32> <i32 7, i32 undef, i32 undef, i32 undef, i32 15, i32 1, i32 undef, i32 undef>
  %Shuff224 = shufflevector <8 x i32> %FC186, <8 x i32> %FC186, <8 x i32> <i32 undef, i32 11, i32 13, i32 15, i32 1, i32 3, i32 5, i32 7>
  %Shuff225 = shufflevector <8 x float> %Shuff51, <8 x float> %Shuff153, <8 x i32> <i32 11, i32 13, i32 15, i32 1, i32 3, i32 5, i32 7, i32 undef>
  %I226 = insertelement <8 x i1> %B177, i1 %E130, i32 5
  %B227 = fadd <8 x float> %I33, %Shuff102
  %BC228 = bitcast i32 0 to float
  %S229 = select i1 true, float %E, float %E221
  %L230 = load i32* %PC
  store <2 x i64> %L118, <2 x i64>* %S116
  %E231 = extractelement <8 x float> %Shuff12, i32 1
  %E232 = extractelement <8 x float> %Shuff202, i32 3
  %Shuff233 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff, <8 x i32> <i32 6, i32 8, i32 10, i32 12, i32 14, i32 0, i32 2, i32 4>
  %Shuff234 = shufflevector <2 x i32> %Shuff92, <2 x i32> %Shuff72, <2 x i32> <i32 0, i32 2>
  %Shuff235 = shufflevector <2 x i32> %Shuff40, <2 x i32> %Shuff72, <2 x i32> <i32 undef, i32 0>
  %I236 = insertelement <8 x float> %I166, float %E19, i32 4
  %B237 = sub i64 25071, %B185
  %PC238 = bitcast <2 x float>* %A to float*
  %S239 = select i1 %E180, i64 %S25, i64 %Se
  %S240 = icmp ult <8 x i1> %I205, %S159
  %L241 = load i8* %S158
  store float %E190, float* %PC238
  %E242 = extractelement <8 x float> %Shuff, i32 7
  %E243 = extractelement <8 x float> %Shuff, i32 1
  %Shuff244 = shufflevector <8 x float> %Shuff51, <8 x float> %Shuff233, <8 x i32> <i32 undef, i32 6, i32 8, i32 10, i32 12, i32 14, i32 0, i32 2>
  %Shuff245 = shufflevector <2 x i32> %Shuff213, <2 x i32> %Shuff72, <2 x i32> <i32 undef, i32 0>
  %Shuff246 = shufflevector <8 x float> %Shuff90, <8 x float> %Shuff, <8 x i32> <i32 12, i32 14, i32 0, i32 2, i32 4, i32 6, i32 8, i32 10>
  %I247 = insertelement <8 x float> %Shuff212, float %E190, i32 6
  %B248 = fdiv <8 x float> %I24, %Shuff225
  %FC249 = fptoui <8 x float> %Shuff63 to <8 x i64>
  %S250 = select i1 %S219, float %E221, float %E5
  %S251 = fcmp olt float %S126, %E99
  %L252 = load double* %PC45
  store float %E49, float* %PC238
  %E253 = extractelement <8 x float> %Shuff7, i32 2
  %E254 = extractelement <8 x i64> %FC249, i32 4
  %Shuff255 = shufflevector <8 x float> %Shuff164, <8 x float> %Shuff, <8 x i32> <i32 7, i32 9, i32 11, i32 13, i32 15, i32 1, i32 3, i32 5>
  %Shuff256 = shufflevector <8 x float> %Shuff11, <8 x float> %Shuff183, <8 x i32> <i32 9, i32 11, i32 13, i32 15, i32 1, i32 undef, i32 5, i32 7>
  %Shuff257 = shufflevector <2 x i32> %Shuff101, <2 x i32> %L27, <2 x i32> <i32 3, i32 1>
  %I258 = insertelement <8 x float> %Shuff, float %E221, i32 1
  %Se259 = sext i1 %Tr75 to i32
  %S260 = select i1 %S97, float %E78, float %E108
  %S261 = fcmp ult <8 x float> %Shuff173, %I83
  %L262 = load i8* %S158
  store i32 %B34, i32* %PC
  %E263 = extractelement <8 x float> %Shuff, i32 5
  %E264 = extractelement <8 x float> %Shuff110, i32 7
  %Shuff265 = shufflevector <8 x float> %Shuff233, <8 x float> %Shuff, <8 x i32> <i32 10, i32 12, i32 14, i32 0, i32 2, i32 undef, i32 6, i32 8>
  %Shuff266 = shufflevector <8 x float> %Shuff244, <8 x float> %Shuff202, <8 x i32> <i32 12, i32 14, i32 0, i32 undef, i32 4, i32 6, i32 8, i32 10>
  %Shuff267 = shufflevector <8 x float> %Shuff80, <8 x float> %Shuff212, <8 x i32> <i32 14, i32 0, i32 undef, i32 4, i32 6, i32 8, i32 10, i32 12>
  %I268 = insertelement <8 x float> %Shuff255, float %E69, i32 0
  %ZE269 = fpext float %E231 to double
  %S270 = select i1 %B44, float %E161, float %E151
  %S271 = fcmp oge <8 x float> %Shuff62, %Shuff
  %L272 = load float* %PC238
  store i32 %E172, i32* %PC
  %E273 = extractelement <8 x float> %Shuff, i32 2
  %E274 = extractelement <8 x float> %Shuff80, i32 4
  %Shuff275 = shufflevector <8 x float> %I113, <8 x float> %Shuff41, <8 x i32> <i32 7, i32 9, i32 11, i32 13, i32 undef, i32 1, i32 3, i32 5>
  %Shuff276 = shufflevector <8 x float> %Shuff212, <8 x float> %I134, <8 x i32> <i32 9, i32 undef, i32 13, i32 15, i32 1, i32 3, i32 5, i32 7>
  %Shuff277 = shufflevector <8 x float> %Shuff110, <8 x float> %Shuff110, <8 x i32> <i32 11, i32 13, i32 15, i32 1, i32 undef, i32 5, i32 7, i32 undef>
  %I278 = insertelement <2 x i32> %I145, i32 %3, i32 1
  %FC279 = fptoui float %E232 to i8
  %S280 = select i1 %Tr, i64 %B185, i64 %S25
  %S281 = fcmp uno double 0x3EE3CB298BF7FCE3, %S218
  %L282 = load i8* %S158
  store i32 %E172, i32* %PC
  %E283 = extractelement <2 x i32> %Shuff101, i32 1
  %E284 = extractelement <2 x i32> %B216, i32 1
  %Shuff285 = shufflevector <2 x double> %FC115, <2 x double> %FC115, <2 x i32> <i32 2, i32 0>
  %Shuff286 = shufflevector <2 x double> %Shuff285, <2 x double> %Shuff285, <2 x i32> <i32 0, i32 2>
  %Shuff287 = shufflevector <8 x float> %Shuff255, <8 x float> %Shuff102, <8 x i32> <i32 14, i32 0, i32 2, i32 undef, i32 6, i32 8, i32 undef, i32 12>
  %I288 = insertelement <2 x i32> %B216, i32 %B34, i32 0
  %B289 = ashr i8 %L262, %L139
  %ZE290 = fpext float %E201 to double
  %S291 = select i1 true, float %S270, float %E242
  %S292 = icmp eq <2 x i32> %I278, %Shuff72
  %L293 = load double* %PC45
  store <2 x i64> %L118, <2 x i64>* %A3
  %E294 = extractelement <8 x float> %Shuff202, i32 0
  %E295 = extractelement <8 x i1> %S240, i32 2
  %Shuff296 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff80, <8 x i32> <i32 undef, i32 7, i32 9, i32 11, i32 13, i32 15, i32 1, i32 3>
  %Shuff297 = shufflevector <8 x float> %Shuff30, <8 x float> %Shuff233, <8 x i32> <i32 7, i32 9, i32 11, i32 13, i32 15, i32 undef, i32 undef, i32 5>
  %Shuff298 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff41, <8 x i32> <i32 undef, i32 11, i32 13, i32 15, i32 1, i32 3, i32 undef, i32 7>
  %I299 = insertelement <8 x float> %Shuff144, float %E19, i32 3
  %BC300 = bitcast i32 %L37 to float
  %S301 = select i1 %E210, i32 0, i32 %E119
  %S302 = fcmp ugt float %E151, %E201
  %L303 = load i8* %S158
  store <2 x i64> %L118, <2 x i64>* %S116
  %E304 = extractelement <8 x i1> %S261, i32 1
  %E305 = extractelement <8 x i1> %S127, i32 3
  %Shuff306 = shufflevector <8 x i1> %S57, <8 x i1> %S66, <8 x i32> <i32 6, i32 8, i32 10, i32 12, i32 14, i32 0, i32 2, i32 4>
  %Shuff307 = shufflevector <2 x i32> %Shuff245, <2 x i32> %Shuff82, <2 x i32> <i32 0, i32 2>
  %Shuff308 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff275, <8 x i32> <i32 14, i32 0, i32 2, i32 4, i32 undef, i32 8, i32 10, i32 undef>
  %I309 = insertelement <8 x float> %Shuff265, float %S148, i32 0
  %FC310 = fptoui float %E221 to i16
  %S311 = select i1 %E130, float 0x3ED76A4E00000000, float %E88
  %S312 = fcmp une double %ZE, 0x3EEED9227F419BDF
  %L313 = load i8* %0
  store i64 %E254, i64* %PC16
  %E314 = extractelement <8 x float> %Shuff, i32 5
  %E315 = extractelement <8 x i1> %S149, i32 7
  %Shuff316 = shufflevector <2 x i64> %L209, <2 x i64> %L118, <2 x i32> <i32 2, i32 undef>
  %Shuff317 = shufflevector <8 x float> %Shuff163, <8 x float> %Shuff287, <8 x i32> <i32 0, i32 2, i32 4, i32 undef, i32 8, i32 10, i32 12, i32 14>
  %Shuff318 = shufflevector <2 x i64> %L199, <2 x i64> %L150, <2 x i32> <i32 2, i32 0>
  %I319 = insertelement <8 x float> %Shuff103, float %E151, i32 0
  %FC320 = sitofp i1 %E211 to double
  %S321 = select i1 %S208, float %S229, float %S250
  %S322 = icmp ule <8 x i1> %B177, %FC
  %L323 = load <2 x i64>* %S116
  store float %E9, float* %PC238
  %E324 = extractelement <8 x float> %Shuff276, i32 3
  %E325 = extractelement <8 x float> %Shuff103, i32 5
  %Shuff326 = shufflevector <8 x float> %Shuff212, <8 x float> %Shuff202, <8 x i32> <i32 undef, i32 undef, i32 12, i32 14, i32 0, i32 2, i32 undef, i32 6>
  %Shuff327 = shufflevector <2 x i32> %Shuff101, <2 x i32> %Shuff40, <2 x i32> <i32 2, i32 undef>
  %Shuff328 = shufflevector <8 x float> %Shuff223, <8 x float> %Shuff326, <8 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 undef, i32 undef, i32 14>
  %I329 = insertelement <8 x float> %Shuff255, float %B114, i32 2
  %B330 = udiv i32 %E200, 0
  %FC331 = fptosi float %E325 to i32
  %S332 = select i1 %FC35, i8 %4, i8 %S76
  %S333 = icmp sgt <2 x i64> %L189, %L118
  %L334 = load float* %PC238
  store i32 0, i32* %PC
  %E335 = extractelement <2 x i64> %L118, i32 1
  %E336 = extractelement <2 x i32> %L27, i32 1
  %Shuff337 = shufflevector <8 x float> %Shuff143, <8 x float> %Shuff11, <8 x i32> <i32 undef, i32 undef, i32 0, i32 undef, i32 4, i32 undef, i32 8, i32 undef>
  %Shuff338 = shufflevector <8 x float> %Shuff71, <8 x float> %Shuff142, <8 x i32> <i32 14, i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 undef>
  %Shuff339 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff153, <8 x i32> <i32 undef, i32 undef, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14>
  %I340 = insertelement <2 x i32> %Shuff214, i32 %E172, i32 0
  %B341 = fdiv <8 x float> %I176, %Shuff
  %ZE342 = fpext float %E120 to double
  %S343 = select i1 %S302, <2 x i32>* %A2, <2 x i32>* %A2
  %S344 = fcmp oeq <8 x float> %I24, %Shuff
  %L345 = load i32* %PC
  store i32 %BC, i32* %PC
  %E346 = extractelement <2 x i32> %Shuff101, i32 1
  %E347 = extractelement <8 x float> %Shuff, i32 3
  %Shuff348 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff192, <8 x i32> <i32 14, i32 undef, i32 2, i32 4, i32 6, i32 undef, i32 undef, i32 undef>
  %Shuff349 = shufflevector <2 x i64> %L323, <2 x i64> %L118, <2 x i32> <i32 0, i32 2>
  %Shuff350 = shufflevector <8 x float> %Shuff131, <8 x float> %Shuff21, <8 x i32> <i32 6, i32 8, i32 undef, i32 12, i32 14, i32 undef, i32 2, i32 4>
  %I351 = insertelement <2 x i32> %L27, i32 %L230, i32 0
  %FC352 = sitofp i32 %E346 to double
  %S353 = select i1 %FC35, float %S148, float %E273
  %S354 = icmp uge <2 x i32> %Shuff182, %Shuff92
  %L355 = load <2 x i32>* %S343
  store float %S85, float* %PC238
  %E356 = extractelement <2 x i64> %Shuff316, i32 0
  %E357 = extractelement <8 x float> %I184, i32 6
  %Shuff358 = shufflevector <2 x i64> %Shuff349, <2 x i64> %L118, <2 x i32> <i32 1, i32 3>
  %Shuff359 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff41, <8 x i32> <i32 15, i32 1, i32 3, i32 5, i32 undef, i32 9, i32 undef, i32 undef>
  %Shuff360 = shufflevector <8 x float> %Shuff63, <8 x float> %Shuff233, <8 x i32> <i32 1, i32 undef, i32 undef, i32 undef, i32 9, i32 11, i32 13, i32 undef>
  %I361 = insertelement <8 x float> %Shuff350, float %S137, i32 3
  %S362 = select i1 %S208, double %S96, double %L252
  %S363 = icmp uge i1 %S208, %Tr
  %L364 = load <2 x i64>* %S116
  store double %ZE290, double* %PC45
  %E365 = extractelement <8 x float> %Shuff70, i32 0
  %E366 = extractelement <2 x i32> %Shuff175, i32 0
  %Shuff367 = shufflevector <8 x float> %Shuff21, <8 x float> %Shuff110, <8 x i32> <i32 13, i32 15, i32 undef, i32 3, i32 5, i32 undef, i32 9, i32 undef>
  %Shuff368 = shufflevector <2 x i64> %Shuff316, <2 x i64> %Shuff316, <2 x i32> <i32 undef, i32 1>
  %Shuff369 = shufflevector <8 x float> %Shuff275, <8 x float> %Shuff80, <8 x i32> <i32 5, i32 7, i32 9, i32 11, i32 13, i32 15, i32 1, i32 3>
  %I370 = insertelement <8 x float> %Shuff, float %E19, i32 7
  %PC371 = bitcast i64* %2 to double*
  %S372 = select i1 %E304, float %E120, float %S353
  %S373 = fcmp ogt <8 x float> %Shuff71, %Shuff244
  %L374 = load float* %PC238
  store <2 x i32> %L27, <2 x i32>* %S343
  %E375 = extractelement <2 x i32> %Shuff40, i32 0
  %E376 = extractelement <8 x float> %Shuff, i32 0
  %Shuff377 = shufflevector <8 x float> %Shuff265, <8 x float> %Shuff153, <8 x i32> <i32 11, i32 13, i32 15, i32 1, i32 3, i32 5, i32 7, i32 9>
  %Shuff378 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff110, <8 x i32> <i32 13, i32 15, i32 1, i32 undef, i32 undef, i32 7, i32 9, i32 11>
  %Shuff379 = shufflevector <2 x i64> %L364, <2 x i64> %Shuff316, <2 x i32> <i32 undef, i32 1>
  %I380 = insertelement <8 x float> %Shuff192, float %S137, i32 5
  %S381 = select i1 %S281, double %L252, double 0x3EE3CB298BF7FCE3
  %S382 = icmp ugt i8 %FC279, %4
  %L383 = load <2 x i32>* %S343
  store <2 x i32> %Shuff132, <2 x i32>* %S343
  %E384 = extractelement <8 x float> %I370, i32 2
  %E385 = extractelement <8 x float> %Shuff21, i32 4
  %Shuff386 = shufflevector <2 x i64> %Shuff358, <2 x i64> %Shuff316, <2 x i32> <i32 3, i32 1>
  %Shuff387 = shufflevector <8 x float> %Shuff, <8 x float> %Shuff275, <8 x i32> <i32 undef, i32 7, i32 9, i32 11, i32 undef, i32 undef, i32 undef, i32 3>
  %Shuff388 = shufflevector <2 x i64> %Shuff316, <2 x i64> %Shuff316, <2 x i32> <i32 undef, i32 1>
  %I389 = insertelement <8 x i1> %S117, i1 %S363, i32 5
  %FC390 = uitofp i8 %L8 to float
  %S391 = select i1 true, i8 %B, i8 %L262
  %S392 = icmp uge <2 x i1> %S333, %S292
  %L393 = load float* %PC238
  store <2 x i64> %L118, <2 x i64>* %S116
  %E394 = extractelement <8 x float> %Shuff377, i32 2
  %E395 = extractelement <2 x i64> %L150, i32 0
  %Shuff396 = shufflevector <2 x i64> %L209, <2 x i64> %L118, <2 x i32> <i32 3, i32 1>
  %Shuff397 = shufflevector <2 x i32> %I104, <2 x i32> %I351, <2 x i32> <i32 1, i32 3>
  %Shuff398 = shufflevector <8 x i1> %S322, <8 x i1> %S240, <8 x i32> <i32 11, i32 13, i32 15, i32 1, i32 3, i32 5, i32 7, i32 9>
  %I399 = insertelement <2 x i64> %Shuff316, i64 %B185, i32 1
  %B400 = shl i1 true, %E130
  %ZE401 = zext <2 x i32> %I340 to <2 x i64>
  %S402 = select i1 %S208, float %E191, float %E221
  %S403 = icmp ne <2 x i32> %B94, %Shuff40
  %L404 = load float* %PC238
  store float %BC228, float* %PC238
  %E405 = extractelement <8 x float> %Shuff337, i32 4
  %E406 = extractelement <2 x i32> %Shuff234, i32 0
  %Shuff407 = shufflevector <8 x float> %Shuff337, <8 x float> %Shuff367, <8 x i32> <i32 1, i32 undef, i32 undef, i32 7, i32 undef, i32 11, i32 13, i32 15>
  %Shuff408 = shufflevector <2 x i1> %S333, <2 x i1> %S292, <2 x i32> <i32 3, i32 1>
  %Shuff409 = shufflevector <8 x float> %Shuff142, <8 x float> %Shuff359, <8 x i32> <i32 undef, i32 11, i32 13, i32 15, i32 1, i32 3, i32 5, i32 undef>
  %I410 = insertelement <8 x float> %Shuff377, float %E365, i32 3
  %B411 = sdiv <2 x i32> %L383, %I340
  %ZE412 = fpext <8 x float> %Shuff317 to <8 x double>
  %S413 = select i1 %S47, <2 x double>* %A1, <2 x double>* %A1
  %S414 = icmp ult i64 %Se, %B185
  store double %L67, double* %PC371
  store float %E99, float* %PC238
  store <2 x i64> %L118, <2 x i64>* %S116
  store <2 x double> %FC115, <2 x double>* %S413
  store i32 %E366, i32* %PC
  ret void
}
Quuxplusone commented 13 years ago

Attached fail_74349.ll.log (34255 bytes, application/octet-stream): LL file reproducing the problem

Quuxplusone commented 13 years ago

r136711.