Constant fold, and less typing than, GET_MODE_BITSIZE with another mode substitution. --- gcc/config/s390/s390.md | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index 6474023..b6e1535 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -522,6 +522,9 @@ (define_mode_attr bfstart [(DI "s") (SI "t")]) (define_mode_attr bfend [(DI "e") (SI "f")]) +;; In place of GET_MODE_BITSIZE (<MODE>mode) +(define_mode_attr bitsize [(DI "64") (SI "32") (HI "16") (QI "8")]) + ;; ;;- Compare instructions. ;; @@ -3317,7 +3320,7 @@ operands[1] = adjust_address (operands[1], BLKmode, 0); set_mem_size (operands[1], size); - operands[2] = GEN_INT (GET_MODE_BITSIZE (<MODE>mode) - bitsize); + operands[2] = GEN_INT (<GPR:bitsize> - bitsize); operands[3] = GEN_INT (mask); }) @@ -3344,7 +3347,7 @@ operands[1] = adjust_address (operands[1], BLKmode, 0); set_mem_size (operands[1], size); - operands[2] = GEN_INT (GET_MODE_BITSIZE (<MODE>mode) - bitsize); + operands[2] = GEN_INT (<GPR:bitsize> - bitsize); operands[3] = GEN_INT (mask); }) @@ -3532,8 +3535,7 @@ } else if (!TARGET_EXTIMM) { - rtx bitcount = GEN_INT (GET_MODE_BITSIZE (<DSI:MODE>mode) - - GET_MODE_BITSIZE (<HQI:MODE>mode)); + rtx bitcount = GEN_INT (<DSI:bitsize> - <HQI:bitsize>); operands[1] = gen_lowpart (<DSI:MODE>mode, operands[1]); emit_insn (gen_ashl<DSI:mode>3 (operands[0], operands[1], bitcount)); @@ -3635,8 +3637,7 @@ { operands[1] = adjust_address (operands[1], BLKmode, 0); set_mem_size (operands[1], GET_MODE_SIZE (QImode)); - operands[2] = GEN_INT (GET_MODE_BITSIZE (<MODE>mode) - - GET_MODE_BITSIZE (QImode)); + operands[2] = GEN_INT (<GPR:bitsize> - BITS_PER_UNIT); }) ; @@ -3747,8 +3748,7 @@ } else if (!TARGET_EXTIMM) { - rtx bitcount = GEN_INT (GET_MODE_BITSIZE(DImode) - - GET_MODE_BITSIZE(<MODE>mode)); + rtx bitcount = GEN_INT (64 - <HQI:bitsize>); operands[1] = gen_lowpart (DImode, operands[1]); emit_insn (gen_ashldi3 (operands[0], operands[1], bitcount)); emit_insn (gen_lshrdi3 (operands[0], operands[0], bitcount)); @@ -3765,7 +3765,7 @@ { operands[1] = gen_lowpart (SImode, operands[1]); emit_insn (gen_andsi3 (operands[0], operands[1], - GEN_INT ((1 << GET_MODE_BITSIZE(<MODE>mode)) - 1))); + GEN_INT ((1 << <HQI:bitsize>) - 1))); DONE; } }) @@ -3958,8 +3958,8 @@ REAL_VALUE_TYPE cmp, sub; operands[1] = force_reg (<BFP:MODE>mode, operands[1]); - real_2expN (&cmp, GET_MODE_BITSIZE(<GPR:MODE>mode) - 1, <BFP:MODE>mode); - real_2expN (&sub, GET_MODE_BITSIZE(<GPR:MODE>mode), <BFP:MODE>mode); + real_2expN (&cmp, <GPR:bitsize> - 1, <BFP:MODE>mode); + real_2expN (&sub, <GPR:bitsize>, <BFP:MODE>mode); emit_cmp_and_jump_insns (operands[1], CONST_DOUBLE_FROM_REAL_VALUE (cmp, <BFP:MODE>mode), @@ -4676,7 +4676,7 @@ && (CONST_OK_FOR_CONSTRAINT_P (INTVAL (operands[2]), 'K', \"K\") || CONST_OK_FOR_CONSTRAINT_P (INTVAL (operands[2]), 'O', \"Os\") || CONST_OK_FOR_CONSTRAINT_P (INTVAL (operands[2]), 'C', \"C\")) - && INTVAL (operands[2]) != -((HOST_WIDE_INT)1 << (GET_MODE_BITSIZE(<MODE>mode) - 1))" + && INTVAL (operands[2]) != -((HOST_WIDE_INT)1 << (<bitsize> - 1))" "@ a<g>hi\t%0,%h2 a<g>hik\t%0,%1,%h2 -- 1.7.7.6