diff options
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrNEON.td | 4 | ||||
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrVFP.td | 5 |
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>; |

