This fixes ICE in combine caused by an invalid constant for SImode. We should have been using gen_int_mode. A similar fix was applied on arm a few months ago.
This is a regression caused by my rewrite of casesi a few years ago. Other uses of GEN_INT in pa.md need to be reviewed. I think there are a few more uses that need to be changed. Tested on hppa64-hp-hpux11.11. Committed to 4.5, 4.6 and trunk. Dave -- J. David Anglin dave.ang...@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602) 2011-07-15 John David Anglin <dave.ang...@nrc-cnrc.gc.ca> PR target/49723 * config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT. Index: config/pa/pa.md =================================================================== --- config/pa/pa.md (revision 176272) +++ config/pa/pa.md (working copy) @@ -6913,7 +6913,7 @@ { rtx index = gen_reg_rtx (SImode); - operands[1] = GEN_INT (-INTVAL (operands[1])); + operands[1] = gen_int_mode (-INTVAL (operands[1]), SImode); if (!INT_14_BITS (operands[1])) operands[1] = force_reg (SImode, operands[1]); emit_insn (gen_addsi3 (index, operands[0], operands[1]));