search for: shiftinst

Displaying 4 results from an estimated 4 matches for "shiftinst".

Did you mean: shifting
2004 Jun 17
0
[LLVMdev] Getelementptr woes
...]* %.str_1, .......... > %tmp.0.i = call int (sbyte*, ...)* > %printf(%tmp.1 , ......... While this is feasible and possible, I really wouldn't recommend it. Take a look at how the X86 backend handles this stuff. For shift instructions, for example, we have: void ISel::visitShiftInst(ShiftInst &I) { MachineBasicBlock::iterator IP = BB->end(); emitShiftOperation(BB, IP, I.getOperand(0), I.getOperand(1), I.getOpcode() == Instruction::Shl, I.getType(), getReg(I)); } Basically all of the code for emitting shift instructions is i...
2004 Jun 17
2
[LLVMdev] Getelementptr woes
Hello, I'm having problems with the following LLVM instruction %tmp.0.i = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([11 x sbyte]* %.str_1, long 0, ...... The first argument in function call, sbyte* getelementptr ([11 x sbyte]* %.str_1..... appears to be ConstantExpression*, and my backend does not support ConstantExpression yet. I probable can implement
2007 Feb 02
0
[LLVMdev] YABCFC
Yet Another Byte Code Format Change: Yup, just when you got over the last bytecode change, its changed again. In order to support shifts of more than 255 bits for large integer types, it was necessary to make the ShiftInst become a BinaryOperator. This means the three shift instruction's opcodes had to be moved into the BinaryOps range and consequently all the opcodes after that got bumped up by three. This changes the bytecode format, unfortunately. The documentation (LangRef.html, BytecodeFormat.html) has been...
2004 Jun 18
1
[LLVMdev] Getelementptr woes
...mp.0.i = call int (sbyte*, ...)* > > %printf(%tmp.1 , ......... > > While this is feasible and possible, I really wouldn't recommend it. Take > a look at how the X86 backend handles this stuff. For shift instructions, > for example, we have: > > void ISel::visitShiftInst(ShiftInst &I) { > MachineBasicBlock::iterator IP = BB->end(); > emitShiftOperation(BB, IP, I.getOperand(0), I.getOperand(1), > I.getOpcode() == Instruction::Shl, I.getType(), > getReg(I)); > } > > Basically all of the code fo...