search for: pseudoinstexpansion

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.