mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
R600: Add support for 24-bit MUL instructions
Reviewed-by: Vincent Lejeune <vljn at ovi.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186922 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -173,6 +173,9 @@ def FP_ONE : PatLeaf <
|
||||
[{return N->isExactlyValue(1.0);}]
|
||||
>;
|
||||
|
||||
def U24 : ComplexPattern<i32, 1, "SelectU24", [], []>;
|
||||
def I24 : ComplexPattern<i32, 1, "SelectI24", [], []>;
|
||||
|
||||
let isCodeGenOnly = 1, isPseudo = 1 in {
|
||||
|
||||
let usesCustomInserter = 1 in {
|
||||
@@ -366,6 +369,16 @@ class ROTRPattern <Instruction BIT_ALIGN> : Pat <
|
||||
(BIT_ALIGN $src0, $src0, $src1)
|
||||
>;
|
||||
|
||||
// 24-bit arithmetic patterns
|
||||
def umul24 : PatFrag <(ops node:$x, node:$y), (mul node:$x, node:$y)>;
|
||||
|
||||
/*
|
||||
class UMUL24Pattern <Instruction UMUL24> : Pat <
|
||||
(mul U24:$x, U24:$y),
|
||||
(UMUL24 $x, $y)
|
||||
>;
|
||||
*/
|
||||
|
||||
include "R600Instructions.td"
|
||||
|
||||
include "SIInstrInfo.td"
|
||||
|
Reference in New Issue
Block a user