A64: Implement EXT

This commit is contained in:
MerryMage
2018-07-15 17:47:32 +01:00
parent d50eaedaa7
commit 5563bbbd79
3 changed files with 5 additions and 5 deletions

View File

@@ -523,7 +523,7 @@ INST(TRN2, "TRN2", "0Q001
INST(ZIP2, "ZIP2", "0Q001110zz0mmmmm011110nnnnnddddd")
// Data Processing - FP and SIMD - SIMD Extract
//INST(EXT, "EXT", "0Q101110000mmmmm0iiii0nnnnnddddd")
INST(EXT, "EXT", "0Q101110000mmmmm0iiii0nnnnnddddd")
// Data Processing - FP and SIMD - SIMD Copy
INST(DUP_elt_2, "DUP (element)", "0Q001110000iiiii000001nnnnnddddd")

View File

@@ -18,7 +18,7 @@ bool TranslatorVisitor::EXT(bool Q, Vec Vm, Imm<4> imm4, Vec Vn, Vec Vd) {
const IR::U128 lo = V(datasize, Vn);
const IR::U128 hi = V(datasize, Vm);
const IR::U128 result = ir.VectorExtract(lo, hi, position);
const IR::U128 result = datasize == 64 ? ir.VectorExtractLower(lo, hi, position) : ir.VectorExtract(lo, hi, position);
V(datasize, Vd, result);