[PATCH] D19475: [mips] Clang generates unaligned offset for MSA instruction st.d

Matija Amidžić via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 25 00:56:30 PDT 2016


mamidzic created this revision.
mamidzic added reviewers: dsanders, sdardis, zoran.jovanovic, zbuljan, hvarga.
mamidzic added subscribers: llvm-commits, petarj.
Herald added a reviewer: vkalintiris.
Herald added subscribers: sdardis, dsanders, danalbert, tberghammer.

Issue was found during compilation of V8 code inside android project with clang-3.9. 
The folowing messages was shown: 
`/tmp/preprocessor-v8-msa-repro-f130c4.s: Assembler messages:
/tmp/preprocessor-v8-msa-repro-f130c4.s:33112: Error: operand 2 out of range `st.d $w0,23($16)'
clang-3.9: error: assembler command failed with exit code 1 (use -v to see invocation)`

This issue is also manifesting on the latest upstream clang. More information [[ https://dmz-portal.mips.com/bugz/show_bug.cgi?id=2311 | here ]].
This patch checks and corrects unaligned offset for ST.* and LD.* Mips MSA instructions.

http://reviews.llvm.org/D19475

Files:
  lib/Target/Mips/MipsISelDAGToDAG.cpp
  lib/Target/Mips/MipsISelDAGToDAG.h
  lib/Target/Mips/MipsInstrInfo.td
  lib/Target/Mips/MipsMSAInstrInfo.td
  lib/Target/Mips/MipsSEISelDAGToDAG.cpp
  lib/Target/Mips/MipsSEISelDAGToDAG.h
  test/CodeGen/Mips/msa/i5_ld_st.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19475.54819.patch
Type: text/x-patch
Size: 14757 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160425/3f8d3cde/attachment.bin>


More information about the llvm-commits mailing list