Displaying 4 results from an estimated 4 matches for "0b111110".
2015 Sep 18
5
multiply-accumulate instruction
...lowering rules for this instruction, but I feel that this isn't likely to work as I need to somehow tie together the fact that %Y, %ASR18 and %rd are all related to each other in the output.
let Predicates = [HasLeon3, HasLeon4], Defs = [Y, ASR18], Uses = [Y, ASR18] in
def SMACrr : F3_1<3, 0b111110,
(outs IntRegs:$rd), (ins IntRegs:$rs1, IntRegs:$rs2, ASRRegs:$asr18),
"smac $rs1, $rs2, $rd",
[(set i32:$rd,
(add i32:$asr18, (mul i32:$rs1, i32:$rs2)))] >;
Perhaps a well-chosen "let Constraints=" might...
2015 Sep 21
2
multiply-accumulate instruction
...s, or do you need to be able to be able to automatically emit it from some higher level construct? I'd expect the former would be entirely sufficient, in which case this should be sufficient:
let Predicates = [HasLeon3, HasLeon4], Defs = [Y, ASR18], Uses = [Y, ASR18] in
def SMACrr : F3_1<3, 0b111110,
(outs IntRegs:$rd), (ins IntRegs:$rs1, IntRegs:$rs2),
"smac $rs1, $rs2, $rd",
[]>;
If you want the latter, I'm not sure how you'd go about being able to pattern-match it, because of the unusual 40 bit accumulate input and outp...
2016 Jun 13
2
LLVM IR intrinsics placeholder for strings [was Re: Back end with special loop instructions (using LLVM IR intrinsics)]
...(outs),
(ins),
"string_that_llc_codegen_should_output_as_assembly1",
[(int_my_intrinsic1)] >;
def STR_PLACEHOLDER2 : ImmediateInstruction< 0b111110,
(outs),
(ins),
"string_that_llc_codegen_should_output_as_assembly2",
[(int_my_intrinsic2)] >;
Best regards,...
2016 May 30
1
Back end with special loop instructions
Hi Alex,
You might find it useful to look at how lib/Target/PowerPC/PPCCTRLoops.cpp works.
-Hal
----- Original Message -----
> From: "Alex Susu via llvm-dev" <llvm-dev at lists.llvm.org>
> To: "llvm-dev" <llvm-dev at lists.llvm.org>
> Sent: Monday, May 30, 2016 5:09:37 PM
> Subject: [llvm-dev] Back end with special loop instructions
>
> Hello.