Displaying 5 results from an estimated 5 matches for "pseudoinstexpansion".
2013 Oct 03
0
[LLVMdev] Question about PseudoInstExpansion
I am trying to do the following pseudo-to-real instruction conversion:
PseudoMFHI GPR32:$rd, ACC64:$ac -> MFHI GPR32:$rd
Is there a way to tell the assembler, disassembler and instprinter to
ignore the ACC64:$ac operand? I know I can use PseudoInstExpansion to
accomplish this, but I just thought it would be convenient to have a flag
for this, something like flag "DisableEncoding". ACC64:$ac is just an
artificial operand added to create a virtual register live range.
Also, the code in utils/TableGen/PseudoLoweringEmitter.cpp (near line 141)...
2012 Aug 09
2
[LLVMdev] Pseudo instructions expansion
...j ≤ 65535.
li d,j =>
ori d,$zero,j
This one is for −32768 ≤ j < 0.
li d,j =>
addiu d,$zero,j
This one is for any other value of j that is representable as a 32-bit integer.
li d,j =>
lui d,hi16(j)
ori d,d,lo16(j)
I have found that class PseudoLoweringEmitter emits code which deals with PseudoInstExpansion. This sounds like exactly what we need , but, as stated in comment in PseudoLoweringEmitter.cpp:
// FIXME: This pass currently can only expand a pseudo to a single instruction.
// The pseudo expansion really should take a list of dags, not just
// a single dag, so we can do fancier things.
Are the...
2012 Aug 09
0
[LLVMdev] Pseudo instructions expansion
...gt; This one is for −32768 ≤ j < 0.
> li d,j =>
> addiu d,$zero,j
> This one is for any other value of j that is representable as a 32-bit integer.
> li d,j =>
> lui d,hi16(j)
> ori d,d,lo16(j)
> I have found that class PseudoLoweringEmitter emits code which deals with PseudoInstExpansion. This sounds like exactly what we need , but, as stated in comment in PseudoLoweringEmitter.cpp:
> // FIXME: This pass currently can only expand a pseudo to a single instruction.
> // The pseudo expansion really should take a list of dags, not just
> // a single dag, so we can do fancie...
2012 Aug 10
1
[LLVMdev] Pseudo instructions expansion
...j ≤ 65535.
li d,j =>
ori d,$zero,j
This one is for −32768 ≤ j < 0.
li d,j =>
addiu d,$zero,j
This one is for any other value of j that is representable as a 32-bit integer.
li d,j =>
lui d,hi16(j)
ori d,d,lo16(j)
I have found that class PseudoLoweringEmitter emits code which deals with PseudoInstExpansion. This sounds like exactly what we need , but, as stated in comment in PseudoLoweringEmitter.cpp:
// FIXME: This pass currently can only expand a pseudo to a single instruction.
// The pseudo expansion really should take a list of dags, not just
// a single dag, so we can do fancier things.
Are the...
2015 Mar 18
6
[LLVMdev] string input for the integrated assembler
Short version: If the integrated assembler accepted assembly strings
as input, more targets could take advantage of integrated assembly.
The longer version:
For a given assembly statement, my out-of-tree target has complex
instruction selection logic -- more so than the in-tree targets. This
target uses variable length instructions and a laborious hierarchy of
tblgen AsmOperands to do the job.