Fix sub-operand size mismatch in tocentry operands.
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Tue, 19 Mar 2013 19:50:30 +0000 (19:50 +0000)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Tue, 19 Mar 2013 19:50:30 +0000 (19:50 +0000)
The tocentry operand class refers to 64-bit values (it is only used in 64-bit,
where iPTR is a 64-bit type), but its sole suboperand is designated as 32-bit
type.  This causes a mismatch to be detected at compile-time with the TableGen
patch I'll check in shortly.

To fix this, this commit changes the suboperand to a 64-bit type as well.

llvm-svn: 177427

llvm/lib/Target/PowerPC/PPCInstr64Bit.td

index 429a921..c2fdba1 100644 (file)
@@ -30,7 +30,7 @@ def symbolLo64 : Operand<i64> {
   let EncoderMethod = "getLO16Encoding";
 }
 def tocentry : Operand<iPTR> {
-  let MIOperandInfo = (ops i32imm:$imm);
+  let MIOperandInfo = (ops i64imm:$imm);
 }
 def memrs : Operand<iPTR> {   // memri where the immediate is a symbolLo64
   let PrintMethod = "printMemRegImm";