Use a signed vector type for the shift amount operand of unsigned shifts.
Neon shifts allow a mix of positive and negative shift amounts to shift left or right, respectively, so the shift amount vector should always be signed. PR8482 (Radar 8603521). llvm-svn: 119748
This commit is contained in:
parent
0ab0f67925
commit
2acd1621f4
|
|
@ -169,10 +169,10 @@ def VRSQRTS : IInst<"ddd", "fQf">;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// E.3.11 Shifts by signed variable
|
// E.3.11 Shifts by signed variable
|
||||||
def VSHL : SInst<"ddd", "csilUcUsUiUlQcQsQiQlQUcQUsQUiQUl">;
|
def VSHL : SInst<"ddx", "csilUcUsUiUlQcQsQiQlQUcQUsQUiQUl">;
|
||||||
def VQSHL : SInst<"ddd", "csilUcUsUiUlQcQsQiQlQUcQUsQUiQUl">;
|
def VQSHL : SInst<"ddx", "csilUcUsUiUlQcQsQiQlQUcQUsQUiQUl">;
|
||||||
def VRSHL : SInst<"ddd", "csilUcUsUiUlQcQsQiQlQUcQUsQUiQUl">;
|
def VRSHL : SInst<"ddx", "csilUcUsUiUlQcQsQiQlQUcQUsQUiQUl">;
|
||||||
def VQRSHL : SInst<"ddd", "csilUcUsUiUlQcQsQiQlQUcQUsQUiQUl">;
|
def VQRSHL : SInst<"ddx", "csilUcUsUiUlQcQsQiQlQUcQUsQUiQUl">;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// E.3.12 Shifts by constant
|
// E.3.12 Shifts by constant
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue