aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linearize.c
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-09-05 11:51:24 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-09-07 00:56:06 +0200
commit9937d33bf9454de48d852d69d90fe05f966f8026 (patch)
tree709850fa0c5f650f115ece8c6736992648772003 /linearize.c
parent101649206777f00be5c23f60f87f01066ad64ece (diff)
downloadsparse-dev-9937d33bf9454de48d852d69d90fe05f966f8026.tar.gz
add support for a new instruction: OP_FMADD
This will be the instruction for fused multiply-add but the motivation for it is some experimentation with the linearization of builtins. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'linearize.c')
-rw-r--r--linearize.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/linearize.c b/linearize.c
index 5a8e7497..0d91d412 100644
--- a/linearize.c
+++ b/linearize.c
@@ -244,6 +244,7 @@ static const char *opcodes[] = {
/* Special three-input */
[OP_SEL] = "select",
+ [OP_FMADD] = "fmadd",
/* Memory */
[OP_LOAD] = "load",
@@ -461,6 +462,7 @@ const char *show_instruction(struct instruction *insn)
break;
case OP_SEL:
+ case OP_FMADD:
buf += sprintf(buf, "%s <- %s, %s, %s", show_pseudo(insn->target),
show_pseudo(insn->src1), show_pseudo(insn->src2), show_pseudo(insn->src3));
break;