[PATCH] [mips][msa] Added bitconverts for vector types for big and little-endian
Daniel Sanders
Daniel.Sanders at imgtec.com
Fri Aug 23 08:14:11 PDT 2013
I've found the problem. There are two ways to produce the SHF_B instruction. The first is via an intrinsic (INTRINSIC_W_CHAIN), the second is via a bitcast (when compiling for big-endian MSA). These two patterns disagree on whether the OPFL_Chain flag should be set or not. TableGen is setting the OPFL_Chain flag which ultimately leads to an extra NULL operand being used when selecting code for the bitcast pattern.
When the "Few MSA Builtins have side-effects..." patch is also applied (which adds IntrNoMem to the intrinsic definition), both patterns agree that OPFL_Chain should not be set and the problem does not occur.
Sorry for not letting you know that the two patches were inter-dependant. Unfortunately I didn't realize that was the case. As we discussed offline, in future I'll specify a patch order to be on the safe side.
From: Daniel Sanders
Sent: 23 August 2013 12:57
To: Jack Carter
Cc: llvm-commits at cs.uiuc.edu
Subject: RE: [PATCH] [mips][msa] Added bitconverts for vector types for big and little-endian
I haven't fully debugged it yet but it seems that another of my pending patches ([mips][msa] Few MSA Builtins have side-effects. Added IntrNoMem to those that don't) prevents the error.
From: Jack Carter
Sent: 22 August 2013 21:07
To: Daniel Sanders
Cc: llvm-commits at cs.uiuc.edu
Subject: RE: [PATCH] [mips][msa] Added bitconverts for vector types for big and little-endian
Oops, I take that back.
make check fails with the test case for me.
Stack dump:
0. Program arguments: /home/jcarter/workarea/assembler_jack/build/bin/./llc -march=mips -mattr=+msa
1. Running pass 'Function Pass Manager' on module '<stdin>'.
2. Running pass 'MIPS DAG->DAG Pattern Instruction Selection' on function '@v16i8_to_v8i16'
Failing Tests (1):
LLVM :: CodeGen/Mips/msa/bitcast.ll
Jack
________________________________
From: Jack Carter
Sent: Thursday, August 22, 2013 1:00 PM
To: Daniel Sanders
Cc: llvm-commits at cs.uiuc.edu
Subject: RE: [PATCH] [mips][msa] Added bitconverts for vector types for big and little-endian
LGTM,
Jack
________________________________
From: Daniel Sanders
Sent: Wednesday, August 21, 2013 6:47 AM
To: Jack Carter
Cc: llvm-commits at cs.uiuc.edu
Subject: [PATCH] [mips][msa] Added bitconverts for vector types for big and little-endian
Daniel Sanders
Leading Software Design Engineer, MIPS Processor IP
Imagination Technologies Limited
www.imgtec.com<http://www.imgtec.com/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130823/ff49baa1/attachment.html>
More information about the llvm-commits
mailing list