diff options
author | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2012-02-08 08:37:26 +0000 |
---|---|---|
committer | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2012-02-08 08:37:26 +0000 |
commit | 1adc1d53dd38ef2db502dc7b8c8c59fde6406e05 (patch) | |
tree | 6305824983077e8550ee11094d9a7bdeecd76118 /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | 172b9243cde4a05564aa68adfe50e395798d766c (diff) | |
download | llvm-1adc1d53dd38ef2db502dc7b8c8c59fde6406e05.zip llvm-1adc1d53dd38ef2db502dc7b8c8c59fde6406e05.tar.gz llvm-1adc1d53dd38ef2db502dc7b8c8c59fde6406e05.tar.bz2 |
Fixed a bug in printing "cmp" pseudo ops.
> This IR code
> %res = call <8 x float> @llvm.x86.avx.cmp.ps.256(<8 x float> %a0, <8 x float> %a1, i8 14)
> fails with assertion:
>
> llc: X86ATTInstPrinter.cpp:62: void llvm::X86ATTInstPrinter::printSSECC(const llvm::MCInst*, unsigned int, llvm::raw_ostream&): Assertion `0 && "Invalid ssecc argument!"' failed.
> 0 llc 0x0000000001355803
> 1 llc 0x0000000001355dc9
> 2 libpthread.so.0 0x00007f79a30575d0
> 3 libc.so.6 0x00007f79a23a1945 gsignal + 53
> 4 libc.so.6 0x00007f79a23a2f21 abort + 385
> 5 libc.so.6 0x00007f79a239a810 __assert_fail + 240
> 6 llc 0x00000000011858d5 llvm::X86ATTInstPrinter::printSSECC(llvm::MCInst const*, unsigned int, llvm::raw_ostream&) + 119
I added the full testing for all possible pseudo-ops of cmp.
I extended X86AsmPrinter.cpp and X86IntelInstPrinter.cpp.
You'l also see lines alignments (unrelated to this fix) in X86IselLowering.cpp from my previous check-in.
llvm-svn: 150068
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions