Add operand kind and format for unsigned 128-bit immediates

This commit is contained in:
Andrew Brown
2019-07-23 11:02:52 -07:00
committed by Dan Gohman
parent 5ded38ce3e
commit 407d24c013
7 changed files with 71 additions and 1 deletions

View File

@@ -30,6 +30,7 @@ pub fn define(
let uimm8 = immediates.by_name("uimm8");
let uimm32 = immediates.by_name("uimm32");
let imm64 = immediates.by_name("imm64");
let uimm128 = immediates.by_name("uimm128");
let offset32 = immediates.by_name("offset32");
let memflags = immediates.by_name("memflags");
let ieee32 = immediates.by_name("ieee32");
@@ -1088,6 +1089,22 @@ pub fn define(
.operands_out(vec![a]),
);
let N = &operand_doc("N", uimm128, "The 16 immediate bytes of a 128-bit vector");
let a = &operand_doc("a", TxN, "A constant vector value");
ig.push(
Inst::new(
"vconst",
r#"
SIMD vector constant.
Construct a vector with the given immediate bytes.
"#,
)
.operands_in(vec![N])
.operands_out(vec![a]),
);
let a = &operand_doc("a", Ref, "A constant reference null value");
ig.push(