mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
Add an operator for vdup_lane so it can be implemented without a clang builtin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121190 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3467cd0d03
commit
2196caab82
@ -680,6 +680,9 @@ static std::string GenOpString(OpKind op, const std::string &proto,
|
||||
case OpDup:
|
||||
s += Duplicate(nElts, typestr, "__a") + ";";
|
||||
break;
|
||||
case OpDupLane:
|
||||
s += SplatLane(nElts, "__a", "__b") + ";";
|
||||
break;
|
||||
case OpSelect:
|
||||
// ((0 & 1) | (~0 & 2))
|
||||
s += "(" + ts + ")";
|
||||
|
@ -52,6 +52,7 @@ enum OpKind {
|
||||
OpCast,
|
||||
OpConcat,
|
||||
OpDup,
|
||||
OpDupLane,
|
||||
OpHi,
|
||||
OpLo,
|
||||
OpSelect,
|
||||
@ -110,6 +111,7 @@ namespace llvm {
|
||||
OpMap["OP_HI"] = OpHi;
|
||||
OpMap["OP_LO"] = OpLo;
|
||||
OpMap["OP_DUP"] = OpDup;
|
||||
OpMap["OP_DUP_LN"] = OpDupLane;
|
||||
OpMap["OP_SEL"] = OpSelect;
|
||||
OpMap["OP_REV16"] = OpRev16;
|
||||
OpMap["OP_REV32"] = OpRev32;
|
||||
|
Loading…
Reference in New Issue
Block a user