[llvm-commits] [PATCH] llvm-stress fixes

nobled nobled at dreamwidth.org
Fri Apr 6 08:31:18 PDT 2012


Attached are some fixes for assertion failures running llvm-stress.
However, there's a third problem that's uncovered once these get
applied.

Now, with certain combinations of options, I get this assertion:
bin/llvm-stress -seed=1 -size=500 -generate-fp128 -generate-half-float
-generate-ppc-fp128 -generate-x86-fp80 -generate-x86-mmx -o /dev/null
llvm-stress: /llvm/lib/VMCore/Instructions.cpp:2719:
llvm::FPExtInst::FPExtInst(llvm::Value*, llvm::Type*, const
llvm::Twine&, llvm::Instruction*): Assertion `castIsValid(getOpcode(),
S, Ty) && "Illegal FPExt"' failed.

...because it's trying to use an fpext to cast from a ppc_fp128 type
to an IEEE-standard fp128 type.

Which raises the question, just how *are* you supposed to cast between
those types?  fptrunc asserts for the same reason; they're both 128
bits. But they don't look like they can just be bitcast to each other
either.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-llvm-stress-don-t-make-vectors-of-x86mmx-type.patch
Type: application/octet-stream
Size: 1329 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120406/23b4d9cf/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-llvm-stress-stop-abusing-ConstantFP-get.patch
Type: application/octet-stream
Size: 2616 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120406/23b4d9cf/attachment-0001.obj>


More information about the llvm-commits mailing list