search for: r0r1

Displaying 3 results from an estimated 3 matches for "r0r1".

Did you mean: r0_r1
2018 Jan 17
1
Opcodes with 32-bit pair vs 64-bit register
...ns Pair64:$b), "FD2S\t$a,$b"),[(set f32:$a, (fpround f64:$b))]>; Example register classes: def Core32: RegisterClass<"XYZ", [i32,f32], 32, (add R0,R1,R2,R3,... def Pair64: RegisterClass<"XYZ", [i64,f64], 64,... (add R0R1, R2R3,... def WideCore : RegisterClass<"XYZ", [i64,f64], 64, (add R0_64, R1_64 ... def R0 : Core<0, "%r0">, DwarfRegNum<[0]>; def R1 : Core<1, "%r1">, DwarfRegNum<[1]>; def R2 : Core<2, "%r2">, DwarfRegNum<[...
2017 Jun 13
3
Wide load/store optimization question
Hi, I'm trying to write an LLVM backend for Epiphany arch, and I wonder if someone can give me some advice on how to implement load/store optimization. The CPU itself is 32-bit, but it supports wider 64-bit loads and store. So the basic idea is to make use of those by combining narrow ones. I've checked how it is done in AArch64 and Hexagon, and my current code is very close to the
2017 Jun 16
2
Wide load/store optimization question
...MT+02:00) Кому: tstellar at redhat.com Копия: Peter Bel <upcfrost at gmail.com>, LLVM Developers Mailing List <llvm-dev at lists.llvm.org> Тема: Re: [llvm-dev] Wide load/store optimization question One thing you can do is define a register class that is made up of register tuples e.g. r0r1, r2r3, etc., and use that register class for the 64-bit load/store instructions.  This will allow you to do the load/store merging before register allocation without the register constraints. ​Our backend only support load/store for i64 type, hence i64 is not legal for us.I guess Peter's Epip...