mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[Hexagon] Fix the value of HexagonII::TypeCVI_FIRST
This value is the first vector instruction type in numerical order. The previous value was incorrect, leaving TypeCVI_GATHER outside of the range for vector instructions. This caused vector .new instructions to be incorrectly encoded in the presence of gather. llvm-svn: 335065
This commit is contained in:
parent
9b3d8dac02
commit
266224bf91
@ -25,7 +25,7 @@ namespace llvm {
|
||||
/// HexagonII - This namespace holds all of the target specific flags that
|
||||
/// instruction info tracks.
|
||||
namespace HexagonII {
|
||||
unsigned const TypeCVI_FIRST = TypeCVI_HIST;
|
||||
unsigned const TypeCVI_FIRST = TypeCVI_4SLOT_MPY;
|
||||
unsigned const TypeCVI_LAST = TypeCVI_VX_LATE;
|
||||
|
||||
enum SubTarget {
|
||||
|
12
test/MC/Hexagon/vgather-new.s
Normal file
12
test/MC/Hexagon/vgather-new.s
Normal file
@ -0,0 +1,12 @@
|
||||
// RUN: llvm-mc -arch=hexagon -mcpu=hexagonv65 -mhvx -show-encoding %s -o - | FileCheck %s
|
||||
|
||||
// TypeCVI_FIRST was set incorrectly, causing vgather not to be considered
|
||||
// a vector instruction. This resulted in an incorrect encoding of the vtmp.new
|
||||
// operand in the store.
|
||||
// CHECK: encoding: [0x1f,0x45,0x05,0x2f,0x22,0xc0,0x21,0x28]
|
||||
|
||||
{
|
||||
if (q0) vtmp.h = vgather(r5,m0,v31.h).h
|
||||
vmem(r1+#0) = vtmp.new
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user