summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM
diff options
context:
space:
mode:
authorJoey Gouly <joey.gouly@arm.com>2013-08-27 11:24:16 +0000
committerJoey Gouly <joey.gouly@arm.com>2013-08-27 11:24:16 +0000
commita710d810f51a215aa6232a5623b29e7b2378cf50 (patch)
treec3366a932d344831ad4594fb96207f9bbbae7c1c /llvm/lib/Target/ARM
parent0df16321b6c65daae85e160b6fc4b8ac4fd04bc1 (diff)
downloadbcm5719-llvm-a710d810f51a215aa6232a5623b29e7b2378cf50.tar.gz
bcm5719-llvm-a710d810f51a215aa6232a5623b29e7b2378cf50.zip
[ARMv8] Add some negative tests for the recent VFP/NEON instructions.
Fix two issues I found while writing these tests. llvm-svn: 189341
Diffstat (limited to 'llvm/lib/Target/ARM')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrNEON.td4
-rw-r--r--llvm/lib/Target/ARM/ARMInstrVFP.td5
2 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrNEON.td b/llvm/lib/Target/ARM/ARMInstrNEON.td
index e86e658d9d8..a5d898540ba 100644
--- a/llvm/lib/Target/ARM/ARMInstrNEON.td
+++ b/llvm/lib/Target/ARM/ARMInstrNEON.td
@@ -5758,9 +5758,9 @@ multiclass VRINT_FPI<string op, bits<3> op9_7, SDPatternOperator Int> {
}
}
- def : InstAlias<!strconcat("vrint", op, ".f32.f32\t$Dd, $Dm"),
+ def : NEONInstAlias<!strconcat("vrint", op, ".f32.f32\t$Dd, $Dm"),
(!cast<Instruction>(NAME#"D") DPR:$Dd, DPR:$Dm)>;
- def : InstAlias<!strconcat("vrint", op, ".f32.f32\t$Qd, $Qm"),
+ def : NEONInstAlias<!strconcat("vrint", op, ".f32.f32\t$Qd, $Qm"),
(!cast<Instruction>(NAME#"Q") QPR:$Qd, QPR:$Qm)>;
}
diff --git a/llvm/lib/Target/ARM/ARMInstrVFP.td b/llvm/lib/Target/ARM/ARMInstrVFP.td
index 3bb4d6f97f9..34d83c6446d 100644
--- a/llvm/lib/Target/ARM/ARMInstrVFP.td
+++ b/llvm/lib/Target/ARM/ARMInstrVFP.td
@@ -669,6 +669,11 @@ multiclass vrint_inst_zrx<string opc, bit op, bit op2> {
let Inst{7} = op2;
let Inst{16} = op;
}
+
+ def : InstAlias<!strconcat("vrint", opc, "$p.f32.f32\t$Sd, $Sm"),
+ (!cast<Instruction>(NAME#"S") SPR:$Sd, SPR:$Sm, pred:$p)>;
+ def : InstAlias<!strconcat("vrint", opc, "$p.f64.f64\t$Dd, $Dm"),
+ (!cast<Instruction>(NAME#"D") DPR:$Dd, DPR:$Dm, pred:$p)>;
}
defm VRINTZ : vrint_inst_zrx<"z", 0, 1>;
OpenPOWER on IntegriCloud