rs6000: Convert <x> built-in constraints to <x,y> form

Message ID 2aa2a916-4e2c-1aab-da88-1a63b678fecf@linux.ibm.com
State New
Headers
Series rs6000: Convert <x> built-in constraints to <x,y> form |

Commit Message

Li, Pan2 via Gcc-patches Jan. 12, 2022, 6:46 p.m. UTC
  Hi!

When introducing the new built-in support, I tried to match as many
existing error messages as possible.  One common form was "argument X must
be a Y-bit unsigned literal".  Another was "argument X must be a literal
between X' and  Y', inclusive".  During reviews, Segher requested that I
eventually convert all messages of the first form into the second form for
consistency.  That's what this patch does, replacing all <x>-form
constraints (first form) with <x,y>-form constraints (second form).

For the moment, the parser will still accept <x> arguments, but I've added
a note in rs6000-builtins.def that this form is deprecated in favor of
<x,y>.  I think it's harmless to leave it in, in case a desire for the
distinction comes up in the future.

Bootstrapped and tested on powerpc64le-linux-gnu with no regressions.
Is this okay for trunk?

Thanks!
Bill

2022-01-12  Bill Schmidt  <wschmidt@linux.ibm.com>

gcc/
	* config/rs6000/rs6000-builtins.def (MTFSB0): Replace <x>-form
	constraints with <x,y>-form constraints.
	(MTFSB1): Likewise.
	(MTFSF): Likewise.
	(UNPACK_IF): Likewise.
	(UNPACK_TF): Likewise.
	(DSS): Likewise.
	(DST): Likewise.
	(DSTST): Likewise.
	(DSTSTT): Likewise.
	(DSTT): Likewise.
	(VCFSX): Likewise.
	(VCFUX): Likewise.
	(VCTSXS): Likewise.
	(VCTUXS): Likewise.
	(VSLDOI_16QI): Likewise.
	(VSLDOI_4SF): Likewise.
	(VSLDOI_4SI): Likewise.
	(VSLDOI_8HI): Likewise.
	(VSPLTB): Likewise.
	(VSPLTH): Likewise.
	(VSPLTW): Likewise.
	(VEC_SET_V16QI): Likewise.
	(VEC_SET_V4SF): Likewise.
	(VEC_SET_V4SI): Likewise.
	(VEC_SET_V8HI): Likewise.
	(VSLDOI_2DF): Likewise.
	(VSLDOI_2DI): Likewise.
	(VEC_SET_V2DF): Likewise.
	(VEC_SET_V2DI): Likewise.
	(XVCVSXDDP_SCALE): Likewise.
	(XVCVUXDDP_SCALE): Likewise.
	(XXPERMDI_16QI): Likewise.
	(XXPERMDI_1TI): Likewise.
	(XXPERMDI_2DF): Likewise.
	(XXPERMDI_2DI): Likewise.
	(XXPERMDI_4SF): Likewise.
	(XXPERMDI_4SI): Likewise.
	(XXPERMDI_8HI): Likewise.
	(XXSLDWI_16QI): Likewise.
	(XXSLDWI_2DF): Likewise.
	(XXSLDWI_2DI): Likewise.
	(XXSLDWI_4SF): Likewise.
	(XXSLDWI_4SI): Likewise.
	(XXSLDWI_8HI): Likewise.
	(XXSPLTD_V2DF): Likewise.
	(XXSPLTD_V2DI): Likewise.
	(UNPACK_V1TI): Likewise.
	(BCDADD_V1TI): Likewise.
	(BCDADD_V16QI): Likewise.
	(BCDADD_EQ_V1TI): Likewise.
	(BCDADD_EQ_V16QI): Likewise.
	(BCDADD_GT_V1TI): Likewise.
	(BCDADD_GT_V16QI): Likewise.
	(BCDADD_LT_V1TI): Likewise.
	(BCDADD_LT_V16QI): Likewise.
	(BCDADD_OV_V1TI): Likewise.
	(BCDADD_OV_V16QI): Likewise.
	(BCDSUB_V1TI): Likewise.
	(BCDSUB_V16QI): Likewise.
	(BCDSUB_EQ_V1TI): Likewise.
	(BCDSUB_EQ_V16QI): Likewise.
	(BCDSUB_GT_V1TI): Likewise.
	(BCDSUB_GT_V16QI): Likewise.
	(BCDSUB_LT_V1TI): Likewise.
	(BCDSUB_LT_V16QI): Likewise.
	(BCDSUB_OV_V1TI): Likewise.
	(BCDSUB_OV_V16QI): Likewise.
	(VSTDCDP): Likewise.
	(VSTDCSP): Likewise.
	(VTDCDP): Likewise.
	(VTDCSP): Likewise.
	(TSTSFI_EQ_DD): Likewise.
	(TSTSFI_EQ_TD): Likewise.
	(TSTSFI_GT_DD): Likewise.
	(TSTSFI_GT_TD): Likewise.
	(TSTSFI_LT_DD): Likewise.
	(TSTSFI_LT_TD): Likewise.
	(TSTSFI_OV_DD): Likewise.
	(TSTSFI_OV_TD): Likewise.
	(VSTDCQP): Likewise.
	(DDEDPD): Likewise.
	(DDEDPDQ): Likewise.
	(DENBCD): Likewise.
	(DENBCDQ): Likewise.
	(DSCLI): Likewise.
	(DSCLIQ): Likewise.
	(DSCRI): Likewise.
	(DSCRIQ): Likewise.
	(UNPACK_TD): Likewise.
	(VSHASIGMAD): Likewise.
	(VSHASIGMAW): Likewise.
	(VCNTMBB): Likewise.
	(VCNTMBD): Likewise.
	(VCNTMBH): Likewise.
	(VCNTMBW): Likewise.
	(VREPLACE_UN_UV2DI): Likewise.
	(VREPLACE_UN_UV4SI): Likewise.
	(VREPLACE_UN_V2DF): Likewise.
	(VREPLACE_UN_V2DI): Likewise.
	(VREPLACE_UN_V4SF): Likewise.
	(VREPLACE_UN_V4SI): Likewise.
	(VREPLACE_ELT_UV2DI): Likewise.
	(VREPLACE_ELT_UV4SI): Likewise.
	(VREPLACE_ELT_V2DF): Likewise.
	(VREPLACE_ELT_V2DI): Likewise.
	(VREPLACE_ELT_V4SF): Likewise.
	(VREPLACE_ELT_V4SI): Likewise.
	(VSLDB_V16QI): Likewise.
	(VSLDB_V2DI): Likewise.
	(VSLDB_V4SI): Likewise.
	(VSLDB_V8HI): Likewise.
	(VSRDB_V16QI): Likewise.
	(VSRDB_V2DI): Likewise.
	(VSRDB_V4SI): Likewise.
	(VSRDB_V8HI): Likewise.
	(VXXSPLTI32DX_V4SF): Likewise.
	(VXXSPLTI32DX_V4SI): Likewise.
	(XXEVAL): Likewise.
	(XXGENPCVM_V16QI): Likewise.
	(XXGENPCVM_V2DI): Likewise.
	(XXGENPCVM_V4SI): Likewise.
	(XXGENPCVM_V8HI): Likewise.
	(XXPERMX_UV16QI): Likewise.
	(XXPERMX_UV2DI): Likewise.
	(XXPERMX_UV4SI): Likewise.
	(XXPERMX_UV8HI): Likewise.
	(XXPERMX_V16QI): Likewise.
	(XXPERMX_V2DF): Likewise.
	(XXPERMX_V2DI): Likewise.
	(XXPERMX_V4SF): Likewise.
	(XXPERMX_V4SI): Likewise.
	(XXPERMX_V8HI): Likewise.
	(DISASSEMBLE_ACC_INTERNAL): Likewise.
	(DISASSEMBLE_PAIR_INTERNAL): Likewise.
	(PMXVBF16GER2): Likewise.
	(PMXVBF16GER2_INTERNAL): Likewise.
	(PMXVBF16GER2NN): Likewise.
	(PMXVBF16GER2NN_INTERNAL): Likewise.
	(PMXVBF16GER2NP): Likewise.
	(PMXVBF16GER2NP_INTERNAL): Likewise.
	(PMXVBF16GER2PN): Likewise.
	(PMXVBF16GER2PN_INTERNAL): Likewise.
	(PMXVBF16GER2PP): Likewise.
	(PMXVBF16GER2PP_INTERNAL): Likewise.
	(PMXVF16GER2): Likewise.
	(PMXVF16GER2_INTERNAL): Likewise.
	(PMXVF16GER2NN): Likewise.
	(PMXVF16GER2NN_INTERNAL): Likewise.
	(PMXVF16GER2NP): Likewise.
	(PMXVF16GER2NP_INTERNAL): Likewise.
	(PMXVF16GER2PN): Likewise.
	(PMXVF16GER2PN_INTERNAL): Likewise.
	(PMXVF16GER2PP): Likewise.
	(PMXVF16GER2PP_INTERNAL): Likewise.
	(PMXVF32GER): Likewise.
	(PMXVF32GER_INTERNAL): Likewise.
	(PMXVF32GERNN): Likewise.
	(PMXVF32GERNN_INTERNAL): Likewise.
	(PMXVF32GERNP): Likewise.
	(PMXVF32GERNP_INTERNAL): Likewise.
	(PMXVF32GERPN): Likewise.
	(PMXVF32GERPN_INTERNAL): Likewise.
	(PMXVF32GERPP): Likewise.
	(PMXVF32GERPP_INTERNAL): Likewise.
	(PMXVF64GER): Likewise.
	(PMXVF64GER_INTERNAL): Likewise.
	(PMXVF64GERNN): Likewise.
	(PMXVF64GERNN_INTERNAL): Likewise.
	(PMXVF64GERNP): Likewise.
	(PMXVF64GERNP_INTERNAL): Likewise.
	(PMXVF64GERPN): Likewise.
	(PMXVF64GERPN_INTERNAL): Likewise.
	(PMXVF64GERPP): Likewise.
	(PMXVF64GERPP_INTERNAL): Likewise.
	(PMXVI16GER2): Likewise.
	(PMXVI16GER2_INTERNAL): Likewise.
	(PMXVI16GER2PP): Likewise.
	(PMXVI16GER2PP_INTERNAL): Likewise.
	(PMXVI16GER2S): Likewise.
	(PMXVI16GER2S_INTERNAL): Likewise.
	(PMXVI16GER2SPP): Likewise.
	(PMXVI16GER2SPP_INTERNAL): Likewise.
	(PMXVI4GER8): Likewise.
	(PMXVI4GER8_INTERNAL): Likewise.
	(PMXVI4GER8PP): Likewise.
	(PMXVI4GER8PP_INTERNAL): Likewise.
	(PMXVI8GER4): Likewise.
	(PMXVI8GER4_INTERNAL): Likewise.
	(PMXVI8GER4PP): Likewise.
	(PMXVI8GER4PP_INTERNAL): Likewise.
	(PMXVI8GER4SPP): Likewise.
	(PMXVI8GER4SPP_INTERNAL): Likewise.
	(DISASSEMBLE_PAIR_V_INTERNAL): Likewise.

gcc/testsuite/
	* gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-10.c:
	Adjust error messages.
	* gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-2.c:
	Likewise.
	* gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-3.c:
	Likewise.
	* gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-4.c:
	Likewise.
	* gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-5.c:
	Likewise.
	* gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-9.c:
	Likewise.
	* gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-4.c:
	Likewise.
	* gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-5.c:
	Likewise.
	* gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-6.c:
	Likewise.
	* gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-7.c:
	Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-12.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-14.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-17.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-19.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-2.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-22.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-24.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-27.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-29.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-32.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-34.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-37.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-39.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-4.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-42.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-44.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-47.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-49.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-52.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-54.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-57.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-59.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-62.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-64.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-67.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-69.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-7.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-72.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-74.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-77.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-79.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-9.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/pr80315-1.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/pr80315-2.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/pr80315-3.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/pr80315-4.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/pr82015.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/pr91903.c: Likewise.
	* gcc/testsuite/gcc.target/powerpc/test_fpscr_rn_builtin_error.c:
	Likewise.
	* gcc/testsuite/gcc.target/powerpc/vec-ternarylogic-10.c: Likewise.
---
 gcc/config/rs6000/rs6000-builtins.def         | 520 +++++++++---------
 .../powerpc/bfp/scalar-test-data-class-10.c   |   2 +-
 .../powerpc/bfp/scalar-test-data-class-2.c    |   2 +-
 .../powerpc/bfp/scalar-test-data-class-3.c    |   2 +-
 .../powerpc/bfp/scalar-test-data-class-4.c    |   2 +-
 .../powerpc/bfp/scalar-test-data-class-5.c    |   2 +-
 .../powerpc/bfp/scalar-test-data-class-9.c    |   2 +-
 .../powerpc/bfp/vec-test-data-class-4.c       |   2 +-
 .../powerpc/bfp/vec-test-data-class-5.c       |   2 +-
 .../powerpc/bfp/vec-test-data-class-6.c       |   2 +-
 .../powerpc/bfp/vec-test-data-class-7.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-12.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-14.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-17.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-19.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-2.c        |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-22.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-24.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-27.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-29.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-32.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-34.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-37.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-39.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-4.c        |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-42.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-44.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-47.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-49.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-52.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-54.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-57.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-59.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-62.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-64.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-67.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-69.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-7.c        |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-72.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-74.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-77.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-79.c       |   2 +-
 .../gcc.target/powerpc/dfp/dtstsfi-9.c        |   2 +-
 gcc/testsuite/gcc.target/powerpc/pr80315-1.c  |   2 +-
 gcc/testsuite/gcc.target/powerpc/pr80315-2.c  |   2 +-
 gcc/testsuite/gcc.target/powerpc/pr80315-3.c  |   2 +-
 gcc/testsuite/gcc.target/powerpc/pr80315-4.c  |   2 +-
 gcc/testsuite/gcc.target/powerpc/pr82015.c    |   4 +-
 gcc/testsuite/gcc.target/powerpc/pr91903.c    |  60 +-
 .../powerpc/test_fpscr_rn_builtin_error.c     |   8 +-
 .../gcc.target/powerpc/vec-ternarylogic-10.c  |   6 +-
 51 files changed, 351 insertions(+), 339 deletions(-)
  

Patch

diff --git a/gcc/config/rs6000/rs6000-builtins.def b/gcc/config/rs6000/rs6000-builtins.def
index a8ebb4af239..cfe31c2e7de 100644
--- a/gcc/config/rs6000/rs6000-builtins.def
+++ b/gcc/config/rs6000/rs6000-builtins.def
@@ -175,6 +175,7 @@ 
 ; indicated by one of the following occurring after the "int" token:
 ;
 ;    <x>   restricts the constant to x bits, interpreted as unsigned
+;          (supported, but now deprecated in favor of <x,y>)
 ;    <x,y> restricts the constant to the inclusive range [x,y]
 ;    [x,y] restricts the constant to the inclusive range [x,y],
 ;	   but only applies if the argument is constant.
@@ -224,13 +225,13 @@ 
   unsigned long __builtin_ppc_mftb ();
     MFTB rs6000_mftb_di {32bit}
 
-  void __builtin_mtfsb0 (const int<5>);
+  void __builtin_mtfsb0 (const int<0,31>);
     MTFSB0 rs6000_mtfsb0 {}
 
-  void __builtin_mtfsb1 (const int<5>);
+  void __builtin_mtfsb1 (const int<0,31>);
     MTFSB1 rs6000_mtfsb1 {}
 
-  void __builtin_mtfsf (const int<8>, double);
+  void __builtin_mtfsf (const int<0,255>, double);
     MTFSF rs6000_mtfsf {}
 
   const __ibm128 __builtin_pack_ibm128 (double, double);
@@ -239,12 +240,12 @@ 
   void __builtin_set_fpscr_rn (const int[0,3]);
     SET_FPSCR_RN rs6000_set_fpscr_rn {}
 
-  const double __builtin_unpack_ibm128 (__ibm128, const int<1>);
+  const double __builtin_unpack_ibm128 (__ibm128, const int<0,1>);
     UNPACK_IF unpackif {}
 
 ; This is redundant with __builtin_unpack_ibm128, as it requires long
 ; double to be __ibm128.  Should probably be deprecated.
-  const double __builtin_unpack_longdouble (long double, const int<1>);
+  const double __builtin_unpack_longdouble (long double, const int<0,1>);
     UNPACK_TF unpacktf {ibmld}
 
 
@@ -301,22 +302,22 @@ 
   const vf __builtin_altivec_copysignfp (vf, vf);
     COPYSIGN_V4SF vector_copysignv4sf3 {}
 
-  void __builtin_altivec_dss (const int<2>);
+  void __builtin_altivec_dss (const int<0,3>);
     DSS altivec_dss {}
 
   void __builtin_altivec_dssall ();
     DSSALL altivec_dssall {}
 
-  void __builtin_altivec_dst (void *, const int, const int<2>);
+  void __builtin_altivec_dst (void *, const int, const int<0,3>);
     DST altivec_dst {}
 
-  void __builtin_altivec_dstst (void *, const int, const int<2>);
+  void __builtin_altivec_dstst (void *, const int, const int<0,3>);
     DSTST altivec_dstst {}
 
-  void __builtin_altivec_dststt (void *, const int, const int<2>);
+  void __builtin_altivec_dststt (void *, const int, const int<0,3>);
     DSTSTT altivec_dststt {}
 
-  void __builtin_altivec_dstt (void *, const int, const int<2>);
+  void __builtin_altivec_dstt (void *, const int, const int<0,3>);
     DSTT altivec_dstt {}
 
   fpmath vsi __builtin_altivec_fix_sfsi (vf);
@@ -544,10 +545,10 @@ 
   const vui __builtin_altivec_vavguw (vui, vui);
     VAVGUW uavgv4si3_ceil {}
 
-  const vf __builtin_altivec_vcfsx (vsi, const int<5>);
+  const vf __builtin_altivec_vcfsx (vsi, const int<0,31>);
     VCFSX altivec_vcfsx {}
 
-  const vf __builtin_altivec_vcfux (vui, const int<5>);
+  const vf __builtin_altivec_vcfux (vui, const int<0,31>);
     VCFUX altivec_vcfux {}
 
   const vsi __builtin_altivec_vcmpbfp (vf, vf);
@@ -628,10 +629,10 @@ 
   const int __builtin_altivec_vcmpgtuw_p (int, vsi, vsi);
     VCMPGTUW_P vector_gtu_v4si_p {pred}
 
-  const vsi __builtin_altivec_vctsxs (vf, const int<5>);
+  const vsi __builtin_altivec_vctsxs (vf, const int<0,31>);
     VCTSXS altivec_vctsxs {}
 
-  const vui __builtin_altivec_vctuxs (vf, const int<5>);
+  const vui __builtin_altivec_vctuxs (vf, const int<0,31>);
     VCTUXS altivec_vctuxs {}
 
   fpmath vf __builtin_altivec_vexptefp (vf);
@@ -931,16 +932,16 @@ 
   const vsc __builtin_altivec_vslb (vsc, vuc);
     VSLB vashlv16qi3 {}
 
-  const vsc __builtin_altivec_vsldoi_16qi (vsc, vsc, const int<4>);
+  const vsc __builtin_altivec_vsldoi_16qi (vsc, vsc, const int<0,15>);
     VSLDOI_16QI altivec_vsldoi_v16qi {}
 
-  const vf __builtin_altivec_vsldoi_4sf (vf, vf, const int<4>);
+  const vf __builtin_altivec_vsldoi_4sf (vf, vf, const int<0,15>);
     VSLDOI_4SF altivec_vsldoi_v4sf {}
 
-  const vsi __builtin_altivec_vsldoi_4si (vsi, vsi, const int<4>);
+  const vsi __builtin_altivec_vsldoi_4si (vsi, vsi, const int<0,15>);
     VSLDOI_4SI altivec_vsldoi_v4si {}
 
-  const vss __builtin_altivec_vsldoi_8hi (vss, vss, const int<4>);
+  const vss __builtin_altivec_vsldoi_8hi (vss, vss, const int<0,15>);
     VSLDOI_8HI altivec_vsldoi_v8hi {}
 
   const vss __builtin_altivec_vslh (vss, vus);
@@ -952,10 +953,10 @@ 
   const vsi __builtin_altivec_vslw (vsi, vui);
     VSLW vashlv4si3 {}
 
-  const vsc __builtin_altivec_vspltb (vsc, const int<4>);
+  const vsc __builtin_altivec_vspltb (vsc, const int<0,15>);
     VSPLTB altivec_vspltb {}
 
-  const vss __builtin_altivec_vsplth (vss, const int<3>);
+  const vss __builtin_altivec_vsplth (vss, const int<0,7>);
     VSPLTH altivec_vsplth {}
 
   const vsc __builtin_altivec_vspltisb (const int<-16,15>);
@@ -967,7 +968,7 @@ 
   const vsi __builtin_altivec_vspltisw (const int<-16,15>);
     VSPLTISW altivec_vspltisw {}
 
-  const vsi __builtin_altivec_vspltw (vsi, const int<2>);
+  const vsi __builtin_altivec_vspltw (vsi, const int<0,3>);
     VSPLTW altivec_vspltw {}
 
   const vsi __builtin_altivec_vsr (vsi, vsi);
@@ -1114,16 +1115,16 @@ 
              signed short);
     VEC_INIT_V8HI nothing {init}
 
-  const vsc __builtin_vec_set_v16qi (vsc, signed char, const int<4>);
+  const vsc __builtin_vec_set_v16qi (vsc, signed char, const int<0,15>);
     VEC_SET_V16QI nothing {set}
 
-  const vf __builtin_vec_set_v4sf (vf, float, const int<2>);
+  const vf __builtin_vec_set_v4sf (vf, float, const int<0,3>);
     VEC_SET_V4SF nothing {set}
 
-  const vsi __builtin_vec_set_v4si (vsi, signed int, const int<2>);
+  const vsi __builtin_vec_set_v4si (vsi, signed int, const int<0,3>);
     VEC_SET_V4SI nothing {set}
 
-  const vss __builtin_vec_set_v8hi (vss, signed short, const int<3>);
+  const vss __builtin_vec_set_v8hi (vss, signed short, const int<0,7>);
     VEC_SET_V8HI nothing {set}
 
 
@@ -1246,10 +1247,10 @@ 
   const vull __builtin_altivec_vsel_2di_uns (vull, vull, vull);
     VSEL_2DI_UNS vector_select_v2di_uns {}
 
-  const vd __builtin_altivec_vsldoi_2df (vd, vd, const int<4>);
+  const vd __builtin_altivec_vsldoi_2df (vd, vd, const int<0,15>);
     VSLDOI_2DF altivec_vsldoi_v2df {}
 
-  const vsll __builtin_altivec_vsldoi_2di (vsll, vsll, const int<4>);
+  const vsll __builtin_altivec_vsldoi_2di (vsll, vsll, const int<0,15>);
     VSLDOI_2DI altivec_vsldoi_v2di {}
 
   const vd __builtin_altivec_vxor_v2df (vd, vd);
@@ -1282,10 +1283,10 @@ 
   const vsq __builtin_vec_set_v1ti (vsq, signed __int128, const int<0,0>);
     VEC_SET_V1TI nothing {set}
 
-  const vd __builtin_vec_set_v2df (vd, double, const int<1>);
+  const vd __builtin_vec_set_v2df (vd, double, const int<0,1>);
     VEC_SET_V2DF nothing {set}
 
-  const vsll __builtin_vec_set_v2di (vsll, signed long long, const int<1>);
+  const vsll __builtin_vec_set_v2di (vsll, signed long long, const int<0,1>);
     VEC_SET_V2DI nothing {set}
 
   const vsc __builtin_vsx_cmpge_16qi (vsc, vsc);
@@ -1719,7 +1720,7 @@ 
   const vd __builtin_vsx_xvcvsxddp (vsll);
     XVCVSXDDP vsx_floatv2div2df2 {}
 
-  const vd __builtin_vsx_xvcvsxddp_scale (vsll, const int<5>);
+  const vd __builtin_vsx_xvcvsxddp_scale (vsll, const int<0,31>);
     XVCVSXDDP_SCALE vsx_xvcvsxddp_scale {}
 
   const vf __builtin_vsx_xvcvsxdsp (vsll);
@@ -1734,7 +1735,7 @@ 
   const vd __builtin_vsx_xvcvuxddp (vsll);
     XVCVUXDDP vsx_floatunsv2div2df2 {}
 
-  const vd __builtin_vsx_xvcvuxddp_scale (vsll, const int<5>);
+  const vd __builtin_vsx_xvcvuxddp_scale (vsll, const int<0,31>);
     XVCVUXDDP_SCALE vsx_xvcvuxddp_scale {}
 
   const vd __builtin_vsx_xvcvuxddp_uns (vull);
@@ -1911,25 +1912,25 @@ 
   const vsi __builtin_vsx_xxmrglw_4si (vsi, vsi);
     XXMRGLW_4SI vsx_xxmrglw_v4si {}
 
-  const vsc __builtin_vsx_xxpermdi_16qi (vsc, vsc, const int<2>);
+  const vsc __builtin_vsx_xxpermdi_16qi (vsc, vsc, const int<0,3>);
     XXPERMDI_16QI vsx_xxpermdi_v16qi {}
 
-  const vsq __builtin_vsx_xxpermdi_1ti (vsq, vsq, const int<2>);
+  const vsq __builtin_vsx_xxpermdi_1ti (vsq, vsq, const int<0,3>);
     XXPERMDI_1TI vsx_xxpermdi_v1ti {}
 
-  const vd __builtin_vsx_xxpermdi_2df (vd, vd, const int<2>);
+  const vd __builtin_vsx_xxpermdi_2df (vd, vd, const int<0,3>);
     XXPERMDI_2DF vsx_xxpermdi_v2df {}
 
-  const vsll __builtin_vsx_xxpermdi_2di (vsll, vsll, const int<2>);
+  const vsll __builtin_vsx_xxpermdi_2di (vsll, vsll, const int<0,3>);
     XXPERMDI_2DI vsx_xxpermdi_v2di {}
 
-  const vf __builtin_vsx_xxpermdi_4sf (vf, vf, const int<2>);
+  const vf __builtin_vsx_xxpermdi_4sf (vf, vf, const int<0,3>);
     XXPERMDI_4SF vsx_xxpermdi_v4sf {}
 
-  const vsi __builtin_vsx_xxpermdi_4si (vsi, vsi, const int<2>);
+  const vsi __builtin_vsx_xxpermdi_4si (vsi, vsi, const int<0,3>);
     XXPERMDI_4SI vsx_xxpermdi_v4si {}
 
-  const vss __builtin_vsx_xxpermdi_8hi (vss, vss, const int<2>);
+  const vss __builtin_vsx_xxpermdi_8hi (vss, vss, const int<0,3>);
     XXPERMDI_8HI vsx_xxpermdi_v8hi {}
 
   const vsc __builtin_vsx_xxsel_16qi (vsc, vsc, vsc);
@@ -1968,28 +1969,28 @@ 
   const vus __builtin_vsx_xxsel_8hi_uns (vus, vus, vus);
     XXSEL_8HI_UNS vector_select_v8hi_uns {}
 
-  const vsc __builtin_vsx_xxsldwi_16qi (vsc, vsc, const int<2>);
+  const vsc __builtin_vsx_xxsldwi_16qi (vsc, vsc, const int<0,3>);
     XXSLDWI_16QI vsx_xxsldwi_v16qi {}
 
-  const vd __builtin_vsx_xxsldwi_2df (vd, vd, const int<2>);
+  const vd __builtin_vsx_xxsldwi_2df (vd, vd, const int<0,3>);
     XXSLDWI_2DF vsx_xxsldwi_v2df {}
 
-  const vsll __builtin_vsx_xxsldwi_2di (vsll, vsll, const int<2>);
+  const vsll __builtin_vsx_xxsldwi_2di (vsll, vsll, const int<0,3>);
     XXSLDWI_2DI vsx_xxsldwi_v2di {}
 
-  const vf __builtin_vsx_xxsldwi_4sf (vf, vf, const int<2>);
+  const vf __builtin_vsx_xxsldwi_4sf (vf, vf, const int<0,3>);
     XXSLDWI_4SF vsx_xxsldwi_v4sf {}
 
-  const vsi __builtin_vsx_xxsldwi_4si (vsi, vsi, const int<2>);
+  const vsi __builtin_vsx_xxsldwi_4si (vsi, vsi, const int<0,3>);
     XXSLDWI_4SI vsx_xxsldwi_v4si {}
 
-  const vss __builtin_vsx_xxsldwi_8hi (vss, vss, const int<2>);
+  const vss __builtin_vsx_xxsldwi_8hi (vss, vss, const int<0,3>);
     XXSLDWI_8HI vsx_xxsldwi_v8hi {}
 
-  const vd __builtin_vsx_xxspltd_2df (vd, const int<1>);
+  const vd __builtin_vsx_xxspltd_2df (vd, const int<0,1>);
     XXSPLTD_V2DF vsx_xxspltd_v2df {}
 
-  const vsll __builtin_vsx_xxspltd_2di (vsll, const int<1>);
+  const vsll __builtin_vsx_xxspltd_2di (vsll, const int<0,1>);
     XXSPLTD_V2DI vsx_xxspltd_v2di {}
 
 
@@ -2020,7 +2021,7 @@ 
   void __builtin_ppc_speculation_barrier ();
     SPECBARR speculation_barrier {}
 
-  const unsigned long __builtin_unpack_vector_int128 (vsq, const int<1>);
+  const unsigned long __builtin_unpack_vector_int128 (vsq, const int<0,1>);
     UNPACK_V1TI unpackv1ti {}
 
 
@@ -2345,34 +2346,34 @@ 
   const vsll __builtin_altivec_vupklsw (vsi);
     VUPKLSW altivec_vupklsw {}
 
-  const vsq __builtin_bcdadd_v1ti (vsq, vsq, const int<1>);
+  const vsq __builtin_bcdadd_v1ti (vsq, vsq, const int<0,1>);
     BCDADD_V1TI bcdadd_v1ti {}
 
-  const vsc __builtin_bcdadd_v16qi (vsc, vsc, const int<1>);
+  const vsc __builtin_bcdadd_v16qi (vsc, vsc, const int<0,1>);
     BCDADD_V16QI bcdadd_v16qi {}
 
-  const signed int __builtin_bcdadd_eq_v1ti (vsq, vsq, const int<1>);
+  const signed int __builtin_bcdadd_eq_v1ti (vsq, vsq, const int<0,1>);
     BCDADD_EQ_V1TI bcdadd_eq_v1ti {}
 
-  const signed int __builtin_bcdadd_eq_v16qi (vsc, vsc, const int<1>);
+  const signed int __builtin_bcdadd_eq_v16qi (vsc, vsc, const int<0,1>);
     BCDADD_EQ_V16QI bcdadd_eq_v16qi {}
 
-  const signed int __builtin_bcdadd_gt_v1ti (vsq, vsq, const int<1>);
+  const signed int __builtin_bcdadd_gt_v1ti (vsq, vsq, const int<0,1>);
     BCDADD_GT_V1TI bcdadd_gt_v1ti {}
 
-  const signed int __builtin_bcdadd_gt_v16qi (vsc, vsc, const int<1>);
+  const signed int __builtin_bcdadd_gt_v16qi (vsc, vsc, const int<0,1>);
     BCDADD_GT_V16QI bcdadd_gt_v16qi {}
 
-  const signed int __builtin_bcdadd_lt_v1ti (vsq, vsq, const int<1>);
+  const signed int __builtin_bcdadd_lt_v1ti (vsq, vsq, const int<0,1>);
     BCDADD_LT_V1TI bcdadd_lt_v1ti {}
 
-  const signed int __builtin_bcdadd_lt_v16qi (vsc, vsc, const int<1>);
+  const signed int __builtin_bcdadd_lt_v16qi (vsc, vsc, const int<0,1>);
     BCDADD_LT_V16QI bcdadd_lt_v16qi {}
 
-  const signed int __builtin_bcdadd_ov_v1ti (vsq, vsq, const int<1>);
+  const signed int __builtin_bcdadd_ov_v1ti (vsq, vsq, const int<0,1>);
     BCDADD_OV_V1TI bcdadd_unordered_v1ti {}
 
-  const signed int __builtin_bcdadd_ov_v16qi (vsc, vsc, const int<1>);
+  const signed int __builtin_bcdadd_ov_v16qi (vsc, vsc, const int<0,1>);
     BCDADD_OV_V16QI bcdadd_unordered_v16qi {}
 
   const signed int __builtin_bcdinvalid_v1ti (vsq);
@@ -2381,46 +2382,46 @@ 
   const signed int __builtin_bcdinvalid_v16qi (vsc);
     BCDINVALID_V16QI bcdinvalid_v16qi {}
 
-  const vsq __builtin_bcdsub_v1ti (vsq, vsq, const int<1>);
+  const vsq __builtin_bcdsub_v1ti (vsq, vsq, const int<0,1>);
     BCDSUB_V1TI bcdsub_v1ti {}
 
-  const vsc __builtin_bcdsub_v16qi (vsc, vsc, const int<1>);
+  const vsc __builtin_bcdsub_v16qi (vsc, vsc, const int<0,1>);
     BCDSUB_V16QI bcdsub_v16qi {}
 
-  const signed int __builtin_bcdsub_eq_v1ti (vsq, vsq, const int<1>);
+  const signed int __builtin_bcdsub_eq_v1ti (vsq, vsq, const int<0,1>);
     BCDSUB_EQ_V1TI bcdsub_eq_v1ti {}
 
-  const signed int __builtin_bcdsub_eq_v16qi (vsc, vsc, const int<1>);
+  const signed int __builtin_bcdsub_eq_v16qi (vsc, vsc, const int<0,1>);
     BCDSUB_EQ_V16QI bcdsub_eq_v16qi {}
 
-  const signed int __builtin_bcdsub_ge_v1ti (vsq, vsq, const int<1>);
+  const signed int __builtin_bcdsub_ge_v1ti (vsq, vsq, const int<0,1>);
     BCDSUB_GE_V1TI bcdsub_ge_v1ti {}
 
-  const signed int __builtin_bcdsub_ge_v16qi (vsc, vsc, const int<1>);
+  const signed int __builtin_bcdsub_ge_v16qi (vsc, vsc, const int<0,1>);
     BCDSUB_GE_V16QI bcdsub_ge_v16qi {}
 
-  const signed int __builtin_bcdsub_gt_v1ti (vsq, vsq, const int<1>);
+  const signed int __builtin_bcdsub_gt_v1ti (vsq, vsq, const int<0,1>);
     BCDSUB_GT_V1TI bcdsub_gt_v1ti {}
 
-  const signed int __builtin_bcdsub_gt_v16qi (vsc, vsc, const int<1>);
+  const signed int __builtin_bcdsub_gt_v16qi (vsc, vsc, const int<0,1>);
     BCDSUB_GT_V16QI bcdsub_gt_v16qi {}
 
-  const signed int __builtin_bcdsub_le_v1ti (vsq, vsq, const int<1>);
+  const signed int __builtin_bcdsub_le_v1ti (vsq, vsq, const int<0,1>);
     BCDSUB_LE_V1TI bcdsub_le_v1ti {}
 
-  const signed int __builtin_bcdsub_le_v16qi (vsc, vsc, const int<1>);
+  const signed int __builtin_bcdsub_le_v16qi (vsc, vsc, const int<0,1>);
     BCDSUB_LE_V16QI bcdsub_le_v16qi {}
 
-  const signed int __builtin_bcdsub_lt_v1ti (vsq, vsq, const int<1>);
+  const signed int __builtin_bcdsub_lt_v1ti (vsq, vsq, const int<0,1>);
     BCDSUB_LT_V1TI bcdsub_lt_v1ti {}
 
-  const signed int __builtin_bcdsub_lt_v16qi (vsc, vsc, const int<1>);
+  const signed int __builtin_bcdsub_lt_v16qi (vsc, vsc, const int<0,1>);
     BCDSUB_LT_V16QI bcdsub_lt_v16qi {}
 
-  const signed int __builtin_bcdsub_ov_v1ti (vsq, vsq, const int<1>);
+  const signed int __builtin_bcdsub_ov_v1ti (vsq, vsq, const int<0,1>);
     BCDSUB_OV_V1TI bcdsub_unordered_v1ti {}
 
-  const signed int __builtin_bcdsub_ov_v16qi (vsc, vsc, const int<1>);
+  const signed int __builtin_bcdsub_ov_v16qi (vsc, vsc, const int<0,1>);
     BCDSUB_OV_V16QI bcdsub_unordered_v16qi {}
 
   const vuc __builtin_crypto_vpermxor_v16qi (vuc, vuc, vuc);
@@ -2749,11 +2750,11 @@ 
     VSCEDPUO xscmpexpdp_unordered {}
 
   const signed int \
-      __builtin_vsx_scalar_test_data_class_dp (double, const int<7>);
+      __builtin_vsx_scalar_test_data_class_dp (double, const int<0,127>);
     VSTDCDP xststdcdp {}
 
   const signed int \
-      __builtin_vsx_scalar_test_data_class_sp (float, const int<7>);
+      __builtin_vsx_scalar_test_data_class_sp (float, const int<0,127>);
     VSTDCSP xststdcsp {}
 
   const signed int __builtin_vsx_scalar_test_neg_dp (double);
@@ -2762,10 +2763,10 @@ 
   const signed int __builtin_vsx_scalar_test_neg_sp (float);
     VSTDCNSP xststdcnegsp {}
 
-  const vsll __builtin_vsx_test_data_class_dp (vd, const int<7>);
+  const vsll __builtin_vsx_test_data_class_dp (vd, const int<0,127>);
     VTDCDP xvtstdcdp {}
 
-  const vsi __builtin_vsx_test_data_class_sp (vf, const int<7>);
+  const vsi __builtin_vsx_test_data_class_sp (vf, const int<0,127>);
     VTDCSP xvtstdcsp {}
 
   const vf __builtin_vsx_vextract_fp_from_shorth (vss);
@@ -2807,28 +2808,28 @@ 
   signed long __builtin_darn_raw ();
     DARN_RAW darn_raw_di {32bit}
 
-  const signed int __builtin_dtstsfi_eq_dd (const int<6>, _Decimal64);
+  const signed int __builtin_dtstsfi_eq_dd (const int<0,63>, _Decimal64);
     TSTSFI_EQ_DD dfptstsfi_eq_dd {}
 
-  const signed int __builtin_dtstsfi_eq_td (const int<6>, _Decimal128);
+  const signed int __builtin_dtstsfi_eq_td (const int<0,63>, _Decimal128);
     TSTSFI_EQ_TD dfptstsfi_eq_td {}
 
-  const signed int __builtin_dtstsfi_gt_dd (const int<6>, _Decimal64);
+  const signed int __builtin_dtstsfi_gt_dd (const int<0,63>, _Decimal64);
     TSTSFI_GT_DD dfptstsfi_gt_dd {}
 
-  const signed int __builtin_dtstsfi_gt_td (const int<6>, _Decimal128);
+  const signed int __builtin_dtstsfi_gt_td (const int<0,63>, _Decimal128);
     TSTSFI_GT_TD dfptstsfi_gt_td {}
 
-  const signed int __builtin_dtstsfi_lt_dd (const int<6>, _Decimal64);
+  const signed int __builtin_dtstsfi_lt_dd (const int<0,63>, _Decimal64);
     TSTSFI_LT_DD dfptstsfi_lt_dd {}
 
-  const signed int __builtin_dtstsfi_lt_td (const int<6>, _Decimal128);
+  const signed int __builtin_dtstsfi_lt_td (const int<0,63>, _Decimal128);
     TSTSFI_LT_TD dfptstsfi_lt_td {}
 
-  const signed int __builtin_dtstsfi_ov_dd (const int<6>, _Decimal64);
+  const signed int __builtin_dtstsfi_ov_dd (const int<0,63>, _Decimal64);
     TSTSFI_OV_DD dfptstsfi_unordered_dd {}
 
-  const signed int __builtin_dtstsfi_ov_td (const int<6>, _Decimal128);
+  const signed int __builtin_dtstsfi_ov_td (const int<0,63>, _Decimal128);
     TSTSFI_OV_TD dfptstsfi_unordered_td {}
 
 
@@ -2914,7 +2915,7 @@ 
     VSIEQPF xsiexpqpf_kf {}
 
   const signed int __builtin_vsx_scalar_test_data_class_qp (_Float128, \
-                                                            const int<7>);
+                                                            const int<0,127>);
     VSTDCQP xststdcqp_kf {}
 
   const signed int __builtin_vsx_scalar_test_neg_qp (_Float128);
@@ -2924,16 +2925,16 @@ 
 
 ; Decimal floating-point builtins.
 [dfp]
-  const _Decimal64 __builtin_ddedpd (const int<2>, _Decimal64);
+  const _Decimal64 __builtin_ddedpd (const int<0,3>, _Decimal64);
     DDEDPD dfp_ddedpd_dd {}
 
-  const _Decimal128 __builtin_ddedpdq (const int<2>, _Decimal128);
+  const _Decimal128 __builtin_ddedpdq (const int<0,3>, _Decimal128);
     DDEDPDQ dfp_ddedpd_td {}
 
-  const _Decimal64 __builtin_denbcd (const int<1>, _Decimal64);
+  const _Decimal64 __builtin_denbcd (const int<0,1>, _Decimal64);
     DENBCD dfp_denbcd_dd {}
 
-  const _Decimal128 __builtin_denbcdq (const int<1>, _Decimal128);
+  const _Decimal128 __builtin_denbcdq (const int<0,1>, _Decimal128);
     DENBCDQ dfp_denbcd_td {}
 
   const _Decimal128 __builtin_denb2dfp_v16qi (vsc);
@@ -2945,16 +2946,16 @@ 
   const _Decimal128 __builtin_diexq (signed long long, _Decimal128);
     DIEXQ dfp_diex_td {}
 
-  const _Decimal64 __builtin_dscli (_Decimal64, const int<6>);
+  const _Decimal64 __builtin_dscli (_Decimal64, const int<0,63>);
     DSCLI dfp_dscli_dd {}
 
-  const _Decimal128 __builtin_dscliq (_Decimal128, const int<6>);
+  const _Decimal128 __builtin_dscliq (_Decimal128, const int<0,63>);
     DSCLIQ dfp_dscli_td {}
 
-  const _Decimal64 __builtin_dscri (_Decimal64, const int<6>);
+  const _Decimal64 __builtin_dscri (_Decimal64, const int<0,63>);
     DSCRI dfp_dscri_dd {}
 
-  const _Decimal128 __builtin_dscriq (_Decimal128, const int<6>);
+  const _Decimal128 __builtin_dscriq (_Decimal128, const int<0,63>);
     DSCRIQ dfp_dscri_td {}
 
   const signed long long __builtin_dxex (_Decimal64);
@@ -2970,7 +2971,8 @@ 
   void __builtin_set_fpscr_drn (const int[0,7]);
     SET_FPSCR_DRN rs6000_set_fpscr_drn {}
 
-  const unsigned long long __builtin_unpack_dec128 (_Decimal128, const int<1>);
+  const unsigned long long __builtin_unpack_dec128 (_Decimal128, \
+                                                    const int<0,1>);
     UNPACK_TD unpacktd {}
 
 
@@ -3005,10 +3007,12 @@ 
   const vuc __builtin_crypto_vsbox_be (vuc);
     VSBOX_BE crypto_vsbox_v16qi {}
 
-  const vull __builtin_crypto_vshasigmad (vull, const int<1>, const int<4>);
+  const vull __builtin_crypto_vshasigmad (vull, const int<0,1>, \
+                                          const int<0,15>);
     VSHASIGMAD crypto_vshasigmad {}
 
-  const vui __builtin_crypto_vshasigmaw (vui, const int<1>, const int<4>);
+  const vui __builtin_crypto_vshasigmaw (vui, const int<0,1>, \
+                                         const int<0,15>);
     VSHASIGMAW crypto_vshasigmaw {}
 
 
@@ -3098,16 +3102,16 @@ 
   const vbq __builtin_altivec_cmple_u1ti (vuq, vuq);
     CMPLE_U1TI vector_ngtuv1ti {}
 
-  const unsigned long long __builtin_altivec_cntmbb (vuc, const int<1>);
+  const unsigned long long __builtin_altivec_cntmbb (vuc, const int<0,1>);
     VCNTMBB vec_cntmb_v16qi {}
 
-  const unsigned long long __builtin_altivec_cntmbd (vull, const int<1>);
+  const unsigned long long __builtin_altivec_cntmbd (vull, const int<0,1>);
     VCNTMBD vec_cntmb_v2di {}
 
-  const unsigned long long __builtin_altivec_cntmbh (vus, const int<1>);
+  const unsigned long long __builtin_altivec_cntmbh (vus, const int<0,1>);
     VCNTMBH vec_cntmb_v8hi {}
 
-  const unsigned long long __builtin_altivec_cntmbw (vui, const int<1>);
+  const unsigned long long __builtin_altivec_cntmbw (vui, const int<0,1>);
     VCNTMBW vec_cntmb_v4si {}
 
   const vsq __builtin_altivec_div_v1ti (vsq, vsq);
@@ -3388,44 +3392,46 @@ 
     VPEXTD vpextd {}
 
   const vull __builtin_altivec_vreplace_un_uv2di (vull, unsigned long long, \
-                                                  const int<4>);
+                                                  const int<0,15>);
     VREPLACE_UN_UV2DI vreplace_un_v2di {}
 
   const vui __builtin_altivec_vreplace_un_uv4si (vui, unsigned int, \
-                                                 const int<4>);
+                                                 const int<0,15>);
     VREPLACE_UN_UV4SI vreplace_un_v4si {}
 
-  const vd __builtin_altivec_vreplace_un_v2df (vd, double, const int<4>);
+  const vd __builtin_altivec_vreplace_un_v2df (vd, double, const int<0,15>);
     VREPLACE_UN_V2DF vreplace_un_v2df {}
 
   const vsll __builtin_altivec_vreplace_un_v2di (vsll, signed long long, \
-                                                 const int<4>);
+                                                 const int<0,15>);
     VREPLACE_UN_V2DI vreplace_un_v2di {}
 
-  const vf __builtin_altivec_vreplace_un_v4sf (vf, float, const int<4>);
+  const vf __builtin_altivec_vreplace_un_v4sf (vf, float, const int<0,15>);
     VREPLACE_UN_V4SF vreplace_un_v4sf {}
 
-  const vsi __builtin_altivec_vreplace_un_v4si (vsi, signed int, const int<4>);
+  const vsi __builtin_altivec_vreplace_un_v4si (vsi, signed int, \
+                                                const int<0,15>);
     VREPLACE_UN_V4SI vreplace_un_v4si {}
 
   const vull __builtin_altivec_vreplace_uv2di (vull, unsigned long long, \
-                                               const int<1>);
+                                               const int<0,1>);
     VREPLACE_ELT_UV2DI vreplace_elt_v2di {}
 
-  const vui __builtin_altivec_vreplace_uv4si (vui, unsigned int, const int<2>);
+  const vui __builtin_altivec_vreplace_uv4si (vui, unsigned int, \
+                                              const int<0,3>);
     VREPLACE_ELT_UV4SI vreplace_elt_v4si {}
 
-  const vd __builtin_altivec_vreplace_v2df (vd, double, const int<1>);
+  const vd __builtin_altivec_vreplace_v2df (vd, double, const int<0,1>);
     VREPLACE_ELT_V2DF vreplace_elt_v2df {}
 
   const vsll __builtin_altivec_vreplace_v2di (vsll, signed long long, \
-                                              const int<1>);
+                                              const int<0,1>);
     VREPLACE_ELT_V2DI vreplace_elt_v2di {}
 
-  const vf __builtin_altivec_vreplace_v4sf (vf, float, const int<2>);
+  const vf __builtin_altivec_vreplace_v4sf (vf, float, const int<0,3>);
     VREPLACE_ELT_V4SF vreplace_elt_v4sf {}
 
-  const vsi __builtin_altivec_vreplace_v4si (vsi, signed int, const int<2>);
+  const vsi __builtin_altivec_vreplace_v4si (vsi, signed int, const int<0,3>);
     VREPLACE_ELT_V4SI vreplace_elt_v4si {}
 
   const vsq __builtin_altivec_vrlq (vsq, vuq);
@@ -3440,16 +3446,16 @@ 
   const vsq __builtin_altivec_vsignext (vsll);
     VSIGNEXTSD2Q vsignextend_v2di_v1ti {}
 
-  const vsc __builtin_altivec_vsldb_v16qi (vsc, vsc, const int<3>);
+  const vsc __builtin_altivec_vsldb_v16qi (vsc, vsc, const int<0,7>);
     VSLDB_V16QI vsldb_v16qi {}
 
-  const vsll __builtin_altivec_vsldb_v2di (vsll, vsll, const int<3>);
+  const vsll __builtin_altivec_vsldb_v2di (vsll, vsll, const int<0,7>);
     VSLDB_V2DI vsldb_v2di {}
 
-  const vsi __builtin_altivec_vsldb_v4si (vsi, vsi, const int<3>);
+  const vsi __builtin_altivec_vsldb_v4si (vsi, vsi, const int<0,7>);
     VSLDB_V4SI vsldb_v4si {}
 
-  const vss __builtin_altivec_vsldb_v8hi (vss, vss, const int<3>);
+  const vss __builtin_altivec_vsldb_v8hi (vss, vss, const int<0,7>);
     VSLDB_V8HI vsldb_v8hi {}
 
   const vsq __builtin_altivec_vslq (vsq, vuq);
@@ -3458,16 +3464,16 @@ 
   const vsq __builtin_altivec_vsraq (vsq, vuq);
     VSRAQ vashrv1ti3 {}
 
-  const vsc __builtin_altivec_vsrdb_v16qi (vsc, vsc, const int<3>);
+  const vsc __builtin_altivec_vsrdb_v16qi (vsc, vsc, const int<0,7>);
     VSRDB_V16QI vsrdb_v16qi {}
 
-  const vsll __builtin_altivec_vsrdb_v2di (vsll, vsll, const int<3>);
+  const vsll __builtin_altivec_vsrdb_v2di (vsll, vsll, const int<0,7>);
     VSRDB_V2DI vsrdb_v2di {}
 
-  const vsi __builtin_altivec_vsrdb_v4si (vsi, vsi, const int<3>);
+  const vsi __builtin_altivec_vsrdb_v4si (vsi, vsi, const int<0,7>);
     VSRDB_V4SI vsrdb_v4si {}
 
-  const vss __builtin_altivec_vsrdb_v8hi (vss, vss, const int<3>);
+  const vss __builtin_altivec_vsrdb_v8hi (vss, vss, const int<0,7>);
     VSRDB_V8HI vsrdb_v8hi {}
 
   const vsq __builtin_altivec_vsrq (vsq, vuq);
@@ -3503,10 +3509,10 @@ 
   const signed int __builtin_vsx_xvtlsbb_all_zeros (vsc);
     XVTLSBB_ZEROS xvtlsbbz {}
 
-  const vf __builtin_vsx_vxxsplti32dx_v4sf (vf, const int<1>, float);
+  const vf __builtin_vsx_vxxsplti32dx_v4sf (vf, const int<0,1>, float);
     VXXSPLTI32DX_V4SF xxsplti32dx_v4sf {}
 
-  const vsi __builtin_vsx_vxxsplti32dx_v4si (vsi, const int<1>, signed int);
+  const vsi __builtin_vsx_vxxsplti32dx_v4si (vsi, const int<0,1>, signed int);
     VXXSPLTI32DX_V4SI xxsplti32dx_v4si {}
 
   const vd __builtin_vsx_vxxspltidp (float);
@@ -3542,49 +3548,49 @@ 
   const vus __builtin_vsx_xxblend_v8hi (vus, vus, vus);
     VXXBLEND_V8HI xxblend_v8hi {}
 
-  const vull __builtin_vsx_xxeval (vull, vull, vull, const int <8>);
+  const vull __builtin_vsx_xxeval (vull, vull, vull, const int <0,255>);
     XXEVAL xxeval {}
 
-  const vuc __builtin_vsx_xxgenpcvm_v16qi (vuc, const int <2>);
+  const vuc __builtin_vsx_xxgenpcvm_v16qi (vuc, const int <0,3>);
     XXGENPCVM_V16QI xxgenpcvm_v16qi {}
 
-  const vull __builtin_vsx_xxgenpcvm_v2di (vull, const int <2>);
+  const vull __builtin_vsx_xxgenpcvm_v2di (vull, const int <0,3>);
     XXGENPCVM_V2DI xxgenpcvm_v2di {}
 
-  const vui __builtin_vsx_xxgenpcvm_v4si (vui, const int <2>);
+  const vui __builtin_vsx_xxgenpcvm_v4si (vui, const int <0,3>);
     XXGENPCVM_V4SI xxgenpcvm_v4si {}
 
-  const vus __builtin_vsx_xxgenpcvm_v8hi (vus, const int <2>);
+  const vus __builtin_vsx_xxgenpcvm_v8hi (vus, const int <0,3>);
     XXGENPCVM_V8HI xxgenpcvm_v8hi {}
 
-  const vuc __builtin_vsx_xxpermx_uv16qi (vuc, vuc, vuc, const int<3>);
+  const vuc __builtin_vsx_xxpermx_uv16qi (vuc, vuc, vuc, const int<0,7>);
     XXPERMX_UV16QI xxpermx {}
 
-  const vull __builtin_vsx_xxpermx_uv2di (vull, vull, vuc, const int<3>);
+  const vull __builtin_vsx_xxpermx_uv2di (vull, vull, vuc, const int<0,7>);
     XXPERMX_UV2DI xxpermx {}
 
-  const vui __builtin_vsx_xxpermx_uv4si (vui, vui, vuc, const int<3>);
+  const vui __builtin_vsx_xxpermx_uv4si (vui, vui, vuc, const int<0,7>);
     XXPERMX_UV4SI xxpermx {}
 
-  const vus __builtin_vsx_xxpermx_uv8hi (vus, vus, vuc, const int<3>);
+  const vus __builtin_vsx_xxpermx_uv8hi (vus, vus, vuc, const int<0,7>);
     XXPERMX_UV8HI xxpermx {}
 
-  const vsc __builtin_vsx_xxpermx_v16qi (vsc, vsc, vuc, const int<3>);
+  const vsc __builtin_vsx_xxpermx_v16qi (vsc, vsc, vuc, const int<0,7>);
     XXPERMX_V16QI xxpermx {}
 
-  const vd __builtin_vsx_xxpermx_v2df (vd, vd, vuc, const int<3>);
+  const vd __builtin_vsx_xxpermx_v2df (vd, vd, vuc, const int<0,7>);
     XXPERMX_V2DF xxpermx {}
 
-  const vsll __builtin_vsx_xxpermx_v2di (vsll, vsll, vuc, const int<3>);
+  const vsll __builtin_vsx_xxpermx_v2di (vsll, vsll, vuc, const int<0,7>);
     XXPERMX_V2DI xxpermx {}
 
-  const vf __builtin_vsx_xxpermx_v4sf (vf, vf, vuc, const int<3>);
+  const vf __builtin_vsx_xxpermx_v4sf (vf, vf, vuc, const int<0,7>);
     XXPERMX_V4SF xxpermx {}
 
-  const vsi __builtin_vsx_xxpermx_v4si (vsi, vsi, vuc, const int<3>);
+  const vsi __builtin_vsx_xxpermx_v4si (vsi, vsi, vuc, const int<0,7>);
     XXPERMX_V4SI xxpermx {}
 
-  const vss __builtin_vsx_xxpermx_v8hi (vss, vss, vuc, const int<3>);
+  const vss __builtin_vsx_xxpermx_v8hi (vss, vss, vuc, const int<0,7>);
     XXPERMX_V8HI xxpermx {}
 
   pure unsigned __int128 __builtin_altivec_ze_lxvrbx (signed long, \
@@ -3648,244 +3654,250 @@ 
   void __builtin_mma_disassemble_acc (void *, v512 *);
     DISASSEMBLE_ACC nothing {mma,quad,mmaint}
 
-  vuc __builtin_mma_disassemble_acc_internal (v512, const int<2>);
+  vuc __builtin_mma_disassemble_acc_internal (v512, const int<0,3>);
     DISASSEMBLE_ACC_INTERNAL mma_disassemble_acc {mma}
 
   void __builtin_mma_disassemble_pair (void *, v256 *);
     DISASSEMBLE_PAIR nothing {mma,pair,mmaint}
 
-  vuc __builtin_mma_disassemble_pair_internal (v256, const int<2>);
+  vuc __builtin_mma_disassemble_pair_internal (v256, const int<0,3>);
     DISASSEMBLE_PAIR_INTERNAL vsx_disassemble_pair {mma}
 
-  void __builtin_mma_pmxvbf16ger2 (v512 *, vuc, vuc, const int<4>, \
-                                   const int<4>, const int<2>);
+  void __builtin_mma_pmxvbf16ger2 (v512 *, vuc, vuc, const int<0,15>, \
+                                   const int<0,15>, const int<0,3>);
     PMXVBF16GER2 nothing {mma,mmaint}
 
-  v512 __builtin_mma_pmxvbf16ger2_internal (vuc, vuc, const int<4>, \
-                                            const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvbf16ger2_internal (vuc, vuc, const int<0,15>, \
+                                            const int<0,15>, const int<0,3>);
     PMXVBF16GER2_INTERNAL mma_pmxvbf16ger2 {mma}
 
-  void __builtin_mma_pmxvbf16ger2nn (v512 *, vuc, vuc, const int<4>, \
-                                     const int<4>, const int<2>);
+  void __builtin_mma_pmxvbf16ger2nn (v512 *, vuc, vuc, const int<0,15>, \
+                                     const int<0,15>, const int<0,3>);
     PMXVBF16GER2NN nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvbf16ger2nn_internal (v512, vuc, vuc, const int<4>, \
-                                              const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvbf16ger2nn_internal (v512, vuc, vuc, \
+                                              const int<0,15>, \
+                                              const int<0,15>, const int<0,3>);
     PMXVBF16GER2NN_INTERNAL mma_pmxvbf16ger2nn {mma,quad}
 
-  void __builtin_mma_pmxvbf16ger2np (v512 *, vuc, vuc, const int<4>, \
-                                     const int<4>, const int<2>);
+  void __builtin_mma_pmxvbf16ger2np (v512 *, vuc, vuc, const int<0,15>, \
+                                     const int<0,15>, const int<0,3>);
     PMXVBF16GER2NP nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvbf16ger2np_internal (v512, vuc, vuc, const int<4>, \
-                                              const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvbf16ger2np_internal (v512, vuc, vuc, \
+                                              const int<0,15>, \
+                                              const int<0,15>, const int<0,3>);
     PMXVBF16GER2NP_INTERNAL mma_pmxvbf16ger2np {mma,quad}
 
-  void __builtin_mma_pmxvbf16ger2pn (v512 *, vuc, vuc, const int<4>, \
-                                     const int<4>, const int<2>);
+  void __builtin_mma_pmxvbf16ger2pn (v512 *, vuc, vuc, const int<0,15>, \
+                                     const int<0,15>, const int<0,3>);
     PMXVBF16GER2PN nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvbf16ger2pn_internal (v512, vuc, vuc, const int<4>, \
-                                              const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvbf16ger2pn_internal (v512, vuc, vuc, \
+                                              const int<0,15>, \
+                                              const int<0,15>, const int<0,3>);
     PMXVBF16GER2PN_INTERNAL mma_pmxvbf16ger2pn {mma,quad}
 
-  void __builtin_mma_pmxvbf16ger2pp (v512 *, vuc, vuc, const int<4>, \
-                                     const int<4>, const int<2>);
+  void __builtin_mma_pmxvbf16ger2pp (v512 *, vuc, vuc, const int<0,15>, \
+                                     const int<0,15>, const int<0,3>);
     PMXVBF16GER2PP nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvbf16ger2pp_internal (v512, vuc, vuc, const int<4>, \
-                                              const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvbf16ger2pp_internal (v512, vuc, vuc, \
+                                              const int<0,15>, \
+                                              const int<0,15>, const int<0,3>);
     PMXVBF16GER2PP_INTERNAL mma_pmxvbf16ger2pp {mma,quad}
 
-  void __builtin_mma_pmxvf16ger2 (v512 *, vuc, vuc, const int<4>, \
-                                  const int<4>, const int<2>);
+  void __builtin_mma_pmxvf16ger2 (v512 *, vuc, vuc, const int<0,15>, \
+                                  const int<0,15>, const int<0,3>);
     PMXVF16GER2 nothing {mma,mmaint}
 
-  v512 __builtin_mma_pmxvf16ger2_internal (vuc, vuc, const int<4>, \
-                                           const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvf16ger2_internal (vuc, vuc, const int<0,15>, \
+                                           const int<0,15>, const int<0,3>);
     PMXVF16GER2_INTERNAL mma_pmxvf16ger2 {mma}
 
-  void __builtin_mma_pmxvf16ger2nn (v512 *, vuc, vuc, const int<4>, \
-                                    const int<4>, const int<2>);
+  void __builtin_mma_pmxvf16ger2nn (v512 *, vuc, vuc, const int<0,15>, \
+                                    const int<0,15>, const int<0,3>);
     PMXVF16GER2NN nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvf16ger2nn_internal (v512, vuc, vuc, const int<4>, \
-                                             const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvf16ger2nn_internal (v512, vuc, vuc, const int<0,15>, \
+                                             const int<0,15>, const int<0,3>);
     PMXVF16GER2NN_INTERNAL mma_pmxvf16ger2nn {mma,quad}
 
-  void __builtin_mma_pmxvf16ger2np (v512 *, vuc, vuc, const int<4>, \
-                                    const int<4>, const int<2>);
+  void __builtin_mma_pmxvf16ger2np (v512 *, vuc, vuc, const int<0,15>, \
+                                    const int<0,15>, const int<0,3>);
     PMXVF16GER2NP nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvf16ger2np_internal (v512, vuc, vuc, const int<4>, \
-                                             const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvf16ger2np_internal (v512, vuc, vuc, const int<0,15>, \
+                                             const int<0,15>, const int<0,3>);
     PMXVF16GER2NP_INTERNAL mma_pmxvf16ger2np {mma,quad}
 
-  void __builtin_mma_pmxvf16ger2pn (v512 *, vuc, vuc, const int<4>, \
-                                    const int<4>, const int<2>);
+  void __builtin_mma_pmxvf16ger2pn (v512 *, vuc, vuc, const int<0,15>, \
+                                    const int<0,15>, const int<0,3>);
     PMXVF16GER2PN nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvf16ger2pn_internal (v512, vuc, vuc, const int<4>, \
-                                             const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvf16ger2pn_internal (v512, vuc, vuc, const int<0,15>, \
+                                             const int<0,15>, const int<0,3>);
     PMXVF16GER2PN_INTERNAL mma_pmxvf16ger2pn {mma,quad}
 
-  void __builtin_mma_pmxvf16ger2pp (v512 *, vuc, vuc, const int<4>, \
-                                    const int<4>, const int<2>);
+  void __builtin_mma_pmxvf16ger2pp (v512 *, vuc, vuc, const int<0,15>, \
+                                    const int<0,15>, const int<0,3>);
     PMXVF16GER2PP nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvf16ger2pp_internal (v512, vuc, vuc, const int<4>, \
-                                             const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvf16ger2pp_internal (v512, vuc, vuc, const int<0,15>, \
+                                             const int<0,15>, const int<0,3>);
     PMXVF16GER2PP_INTERNAL mma_pmxvf16ger2pp {mma,quad}
 
-  void __builtin_mma_pmxvf32ger (v512 *, vuc, vuc, const int<4>, const int<4>);
+  void __builtin_mma_pmxvf32ger (v512 *, vuc, vuc, const int<0,15>, \
+                                 const int<0,15>);
     PMXVF32GER nothing {mma,mmaint}
 
-  v512 __builtin_mma_pmxvf32ger_internal (vuc, vuc, const int<4>, \
-                                          const int<4>);
+  v512 __builtin_mma_pmxvf32ger_internal (vuc, vuc, const int<0,15>, \
+                                          const int<0,15>);
     PMXVF32GER_INTERNAL mma_pmxvf32ger {mma}
 
-  void __builtin_mma_pmxvf32gernn (v512 *, vuc, vuc, const int<4>, \
-                                   const int<4>);
+  void __builtin_mma_pmxvf32gernn (v512 *, vuc, vuc, const int<0,15>, \
+                                   const int<0,15>);
     PMXVF32GERNN nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvf32gernn_internal (v512, vuc, vuc, const int<4>, \
-                                            const int<4>);
+  v512 __builtin_mma_pmxvf32gernn_internal (v512, vuc, vuc, const int<0,15>, \
+                                            const int<0,15>);
     PMXVF32GERNN_INTERNAL mma_pmxvf32gernn {mma,quad}
 
-  void __builtin_mma_pmxvf32gernp (v512 *, vuc, vuc, const int<4>, \
-                                   const int<4>);
+  void __builtin_mma_pmxvf32gernp (v512 *, vuc, vuc, const int<0,15>, \
+                                   const int<0,15>);
     PMXVF32GERNP nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvf32gernp_internal (v512, vuc, vuc, const int<4>, \
-                                            const int<4>);
+  v512 __builtin_mma_pmxvf32gernp_internal (v512, vuc, vuc, const int<0,15>, \
+                                            const int<0,15>);
     PMXVF32GERNP_INTERNAL mma_pmxvf32gernp {mma,quad}
 
-  void __builtin_mma_pmxvf32gerpn (v512 *, vuc, vuc, const int<4>, \
-                                   const int<4>);
+  void __builtin_mma_pmxvf32gerpn (v512 *, vuc, vuc, const int<0,15>, \
+                                   const int<0,15>);
     PMXVF32GERPN nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvf32gerpn_internal (v512, vuc, vuc, const int<4>, \
-                                            const int<4>);
+  v512 __builtin_mma_pmxvf32gerpn_internal (v512, vuc, vuc, const int<0,15>, \
+                                            const int<0,15>);
     PMXVF32GERPN_INTERNAL mma_pmxvf32gerpn {mma,quad}
 
-  void __builtin_mma_pmxvf32gerpp (v512 *, vuc, vuc, const int<4>, \
-                                   const int<4>);
+  void __builtin_mma_pmxvf32gerpp (v512 *, vuc, vuc, const int<0,15>, \
+                                   const int<0,15>);
     PMXVF32GERPP nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvf32gerpp_internal (v512, vuc, vuc, const int<4>, \
-                                            const int<4>);
+  v512 __builtin_mma_pmxvf32gerpp_internal (v512, vuc, vuc, const int<0,15>, \
+                                            const int<0,15>);
     PMXVF32GERPP_INTERNAL mma_pmxvf32gerpp {mma,quad}
 
-  void __builtin_mma_pmxvf64ger (v512 *, v256, vuc, const int<4>, \
-                                 const int<2>);
+  void __builtin_mma_pmxvf64ger (v512 *, v256, vuc, const int<0,15>, \
+                                 const int<0,3>);
     PMXVF64GER nothing {mma,pair,mmaint}
 
-  v512 __builtin_mma_pmxvf64ger_internal (v256, vuc, const int<4>, \
-                                          const int<2>);
+  v512 __builtin_mma_pmxvf64ger_internal (v256, vuc, const int<0,15>, \
+                                          const int<0,3>);
     PMXVF64GER_INTERNAL mma_pmxvf64ger {mma,pair}
 
-  void __builtin_mma_pmxvf64gernn (v512 *, v256, vuc, const int<4>, \
-                                   const int<2>);
+  void __builtin_mma_pmxvf64gernn (v512 *, v256, vuc, const int<0,15>, \
+                                   const int<0,3>);
     PMXVF64GERNN nothing {mma,pair,quad,mmaint}
 
-  v512 __builtin_mma_pmxvf64gernn_internal (v512, v256, vuc, const int<4>, \
-                                            const int<2>);
+  v512 __builtin_mma_pmxvf64gernn_internal (v512, v256, vuc, const int<0,15>, \
+                                            const int<0,3>);
     PMXVF64GERNN_INTERNAL mma_pmxvf64gernn {mma,pair,quad}
 
-  void __builtin_mma_pmxvf64gernp (v512 *, v256, vuc, const int<4>, \
-                                   const int<2>);
+  void __builtin_mma_pmxvf64gernp (v512 *, v256, vuc, const int<0,15>, \
+                                   const int<0,3>);
     PMXVF64GERNP nothing {mma,pair,quad,mmaint}
 
-  v512 __builtin_mma_pmxvf64gernp_internal (v512, v256, vuc, const int<4>, \
-                                            const int<2>);
+  v512 __builtin_mma_pmxvf64gernp_internal (v512, v256, vuc, const int<0,15>, \
+                                            const int<0,3>);
     PMXVF64GERNP_INTERNAL mma_pmxvf64gernp {mma,pair,quad}
 
-  void __builtin_mma_pmxvf64gerpn (v512 *, v256, vuc, const int<4>, \
-                                   const int<2>);
+  void __builtin_mma_pmxvf64gerpn (v512 *, v256, vuc, const int<0,15>, \
+                                   const int<0,3>);
     PMXVF64GERPN nothing {mma,pair,quad,mmaint}
 
-  v512 __builtin_mma_pmxvf64gerpn_internal (v512, v256, vuc, const int<4>, \
-                                            const int<2>);
+  v512 __builtin_mma_pmxvf64gerpn_internal (v512, v256, vuc, const int<0,15>, \
+                                            const int<0,3>);
     PMXVF64GERPN_INTERNAL mma_pmxvf64gerpn {mma,pair,quad}
 
-  void __builtin_mma_pmxvf64gerpp (v512 *, v256, vuc, const int<4>, \
-                                   const int<2>);
+  void __builtin_mma_pmxvf64gerpp (v512 *, v256, vuc, const int<0,15>, \
+                                   const int<0,3>);
     PMXVF64GERPP nothing {mma,pair,quad,mmaint}
 
-  v512 __builtin_mma_pmxvf64gerpp_internal (v512, v256, vuc, const int<4>, \
-                                            const int<2>);
+  v512 __builtin_mma_pmxvf64gerpp_internal (v512, v256, vuc, const int<0,15>, \
+                                            const int<0,3>);
     PMXVF64GERPP_INTERNAL mma_pmxvf64gerpp {mma,pair,quad}
 
-  void __builtin_mma_pmxvi16ger2 (v512 *, vuc, vuc, const int<4>, \
-                                  const int<4>, const int<2>);
+  void __builtin_mma_pmxvi16ger2 (v512 *, vuc, vuc, const int<0,15>, \
+                                  const int<0,15>, const int<0,3>);
     PMXVI16GER2 nothing {mma,mmaint}
 
-  v512 __builtin_mma_pmxvi16ger2_internal (vuc, vuc, const int<4>, \
-                                           const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvi16ger2_internal (vuc, vuc, const int<0,15>, \
+                                           const int<0,15>, const int<0,3>);
     PMXVI16GER2_INTERNAL mma_pmxvi16ger2 {mma}
 
-  void __builtin_mma_pmxvi16ger2pp (v512 *, vuc, vuc, const int<4>, \
-                                    const int<4>, const int<2>);
+  void __builtin_mma_pmxvi16ger2pp (v512 *, vuc, vuc, const int<0,15>, \
+                                    const int<0,15>, const int<0,3>);
     PMXVI16GER2PP nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvi16ger2pp_internal (v512, vuc, vuc, const int<4>, \
-                                             const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvi16ger2pp_internal (v512, vuc, vuc, const int<0,15>, \
+                                             const int<0,15>, const int<0,3>);
     PMXVI16GER2PP_INTERNAL mma_pmxvi16ger2pp {mma,quad}
 
-  void __builtin_mma_pmxvi16ger2s (v512 *, vuc, vuc, const int<4>, \
-                                   const int<4>, const int<2>);
+  void __builtin_mma_pmxvi16ger2s (v512 *, vuc, vuc, const int<0,15>, \
+                                   const int<0,15>, const int<0,3>);
     PMXVI16GER2S nothing {mma,mmaint}
 
-  v512 __builtin_mma_pmxvi16ger2s_internal (vuc, vuc, const int<4>, \
-                                            const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvi16ger2s_internal (vuc, vuc, const int<0,15>, \
+                                            const int<0,15>, const int<0,3>);
     PMXVI16GER2S_INTERNAL mma_pmxvi16ger2s {mma}
 
-  void __builtin_mma_pmxvi16ger2spp (v512 *, vuc, vuc, const int<4>, \
-                                     const int<4>, const int<2>);
+  void __builtin_mma_pmxvi16ger2spp (v512 *, vuc, vuc, const int<0,15>, \
+                                     const int<0,15>, const int<0,3>);
     PMXVI16GER2SPP nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvi16ger2spp_internal (v512, vuc, vuc, const int<4>, \
-                                              const int<4>, const int<2>);
+  v512 __builtin_mma_pmxvi16ger2spp_internal (v512, vuc, vuc, \
+                                              const int<0,15>, \
+                                              const int<0,15>, const int<0,3>);
     PMXVI16GER2SPP_INTERNAL mma_pmxvi16ger2spp {mma,quad}
 
-  void __builtin_mma_pmxvi4ger8 (v512 *, vuc, vuc, const int<4>, \
-                                 const int<4>, const int<8>);
+  void __builtin_mma_pmxvi4ger8 (v512 *, vuc, vuc, const int<0,15>, \
+                                 const int<0,15>, const int<0,255>);
     PMXVI4GER8 nothing {mma,mmaint}
 
-  v512 __builtin_mma_pmxvi4ger8_internal (vuc, vuc, const int<4>, \
-                                          const int<4>, const int<8>);
+  v512 __builtin_mma_pmxvi4ger8_internal (vuc, vuc, const int<0,15>, \
+                                          const int<0,15>, const int<0,255>);
     PMXVI4GER8_INTERNAL mma_pmxvi4ger8 {mma}
 
-  void __builtin_mma_pmxvi4ger8pp (v512 *, vuc, vuc, const int<4>, \
-                                   const int<4>, const int<4>);
+  void __builtin_mma_pmxvi4ger8pp (v512 *, vuc, vuc, const int<0,15>, \
+                                   const int<0,15>, const int<0,15>);
     PMXVI4GER8PP nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvi4ger8pp_internal (v512, vuc, vuc, const int<4>, \
-                                            const int<4>, const int<4>);
+  v512 __builtin_mma_pmxvi4ger8pp_internal (v512, vuc, vuc, const int<0,15>, \
+                                            const int<0,15>, const int<0,15>);
     PMXVI4GER8PP_INTERNAL mma_pmxvi4ger8pp {mma,quad}
 
-  void __builtin_mma_pmxvi8ger4 (v512 *, vuc, vuc, const int<4>, \
-                                 const int<4>, const int<4>);
+  void __builtin_mma_pmxvi8ger4 (v512 *, vuc, vuc, const int<0,15>, \
+                                 const int<0,15>, const int<0,15>);
     PMXVI8GER4 nothing {mma,mmaint}
 
-  v512 __builtin_mma_pmxvi8ger4_internal (vuc, vuc, const int<4>, \
-                                          const int<4>, const int<4>);
+  v512 __builtin_mma_pmxvi8ger4_internal (vuc, vuc, const int<0,15>, \
+                                          const int<0,15>, const int<0,15>);
     PMXVI8GER4_INTERNAL mma_pmxvi8ger4 {mma}
 
-  void __builtin_mma_pmxvi8ger4pp (v512 *, vuc, vuc, const int<4>, \
-                                   const int<4>, const int<4>);
+  void __builtin_mma_pmxvi8ger4pp (v512 *, vuc, vuc, const int<0,15>, \
+                                   const int<0,15>, const int<0,15>);
     PMXVI8GER4PP nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvi8ger4pp_internal (v512, vuc, vuc, const int<4>, \
-                                            const int<4>, const int<4>);
+  v512 __builtin_mma_pmxvi8ger4pp_internal (v512, vuc, vuc, const int<0,15>, \
+                                            const int<0,15>, const int<0,15>);
     PMXVI8GER4PP_INTERNAL mma_pmxvi8ger4pp {mma,quad}
 
-  void __builtin_mma_pmxvi8ger4spp (v512 *, vuc, vuc, const int<4>, \
-                                    const int<4>, const int<4>);
+  void __builtin_mma_pmxvi8ger4spp (v512 *, vuc, vuc, const int<0,15>, \
+                                    const int<0,15>, const int<0,15>);
     PMXVI8GER4SPP nothing {mma,quad,mmaint}
 
-  v512 __builtin_mma_pmxvi8ger4spp_internal (v512, vuc, vuc, const int<4>, \
-                                             const int<4>, const int<4>);
+  v512 __builtin_mma_pmxvi8ger4spp_internal (v512, vuc, vuc, const int<0,15>, \
+                                             const int<0,15>, const int<0,15>);
     PMXVI8GER4SPP_INTERNAL mma_pmxvi8ger4spp {mma,quad}
 
   void __builtin_mma_xvbf16ger2 (v512 *, vuc, vuc);
@@ -4095,7 +4107,7 @@ 
   void __builtin_vsx_disassemble_pair (void *, v256 *);
     DISASSEMBLE_PAIR_V nothing {mma,pair,mmaint}
 
-  vuc __builtin_vsx_disassemble_pair_internal (v256, const int<2>);
+  vuc __builtin_vsx_disassemble_pair_internal (v256, const int<0,3>);
     DISASSEMBLE_PAIR_V_INTERNAL vsx_disassemble_pair {mma}
 
   v256 __builtin_vsx_lxvp (unsigned long, const v256 *);
diff --git a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-10.c b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-10.c
index 2e3643c6c09..fcf6a9dca79 100644
--- a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-10.c
+++ b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-10.c
@@ -13,6 +13,6 @@  test_data_class (__ieee128 *p, const int condition_flag)
 {
   __ieee128 source = *p;
 
-  return scalar_test_data_class (source, condition_flag); /* { dg-error "argument 2 must be a 7-bit unsigned literal" } */
+  return scalar_test_data_class (source, condition_flag); /* { dg-error "argument 2 must be a literal between 0 and 127, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-2.c b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-2.c
index 59f03a30484..9130c9714bf 100644
--- a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-2.c
@@ -10,6 +10,6 @@  test_data_class (double *p)
 {
   double source = *p;
 
-  return scalar_test_data_class (source, 256);	/* { dg-error "argument 2 must be a 7-bit unsigned literal" } */
+  return scalar_test_data_class (source, 256);	/* { dg-error "argument 2 must be a literal between 0 and 127, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-3.c b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-3.c
index d3d94261d28..b863bb2bc27 100644
--- a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-3.c
+++ b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-3.c
@@ -10,6 +10,6 @@  test_data_class (float *p)
 {
   float source = *p;
 
-  return scalar_test_data_class (source, 256);	/* { dg-error "argument 2 must be a 7-bit unsigned literal" } */
+  return scalar_test_data_class (source, 256);	/* { dg-error "argument 2 must be a literal between 0 and 127, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-4.c b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-4.c
index 210fa411f9e..83ddffa77a3 100644
--- a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-4.c
+++ b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-4.c
@@ -10,6 +10,6 @@  test_data_class (double *p, const int condition_flag)
 {
   double source = *p;
 
-  return scalar_test_data_class (source, condition_flag); /* { dg-error "argument 2 must be a 7-bit unsigned literal" } */
+  return scalar_test_data_class (source, condition_flag); /* { dg-error "argument 2 must be a literal between 0 and 127, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-5.c b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-5.c
index b66f0a27e8c..101a919c9e4 100644
--- a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-5.c
+++ b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-5.c
@@ -10,6 +10,6 @@  test_data_class (float *p, const int condition_flag)
 {
   float source = *p;
 
-  return scalar_test_data_class (source, condition_flag);	/* { dg-error "argument 2 must be a 7-bit unsigned literal" } */
+  return scalar_test_data_class (source, condition_flag);	/* { dg-error "argument 2 must be a literal between 0 and 127, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-9.c b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-9.c
index cfa9a9c3939..f87851c2c5f 100644
--- a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-9.c
+++ b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-test-data-class-9.c
@@ -13,6 +13,6 @@  test_data_class (__ieee128 *p)
 
   /* IEEE 128-bit floating point operations are only supported
      on 64-bit targets.  */
-  return scalar_test_data_class (source, 256);	/* { dg-error "argument 2 must be a 7-bit unsigned literal" } */
+  return scalar_test_data_class (source, 256);	/* { dg-error "argument 2 must be a literal between 0 and 127, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-4.c b/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-4.c
index 56ce5f9ebe7..448406c0d47 100644
--- a/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-4.c
+++ b/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-4.c
@@ -9,5 +9,5 @@  get_data_class_flags (__vector float *p)
 {
   __vector float source = *p;
 
-  return vec_test_data_class (source, 256);	/* { dg-error "argument 2 must be a 7-bit unsigned literal" } */
+  return vec_test_data_class (source, 256);	/* { dg-error "argument 2 must be a literal between 0 and 127, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-5.c b/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-5.c
index 11624c98a38..64a52a15439 100644
--- a/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-5.c
+++ b/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-5.c
@@ -9,5 +9,5 @@  get_data_class_flags (__vector double *p)
 {
   __vector double source = *p;
 
-  return vec_test_data_class (source, 256);	/* { dg-error "argument 2 must be a 7-bit unsigned literal" } */
+  return vec_test_data_class (source, 256);	/* { dg-error "argument 2 must be a literal between 0 and 127, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-6.c b/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-6.c
index 2c7e9deb7a2..5f35e0e368a 100644
--- a/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-6.c
+++ b/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-6.c
@@ -9,5 +9,5 @@  get_data_class_flags (__vector float *p, int condition_flag)
 {
   __vector float source = *p;
 
-  return vec_test_data_class (source, condition_flag); /* { dg-error "argument 2 must be a 7-bit unsigned literal" } */
+  return vec_test_data_class (source, condition_flag); /* { dg-error "argument 2 must be a literal between 0 and 127, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-7.c b/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-7.c
index 86eff8d66ba..bda2c6d9db3 100644
--- a/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-7.c
+++ b/gcc/testsuite/gcc.target/powerpc/bfp/vec-test-data-class-7.c
@@ -9,5 +9,5 @@  get_data_class_flags (__vector double *p, int condition_flag)
 {
   __vector double source = *p;
 
-  return vec_test_data_class (source, condition_flag); /* { dg-error "argument 2 must be a 7-bit unsigned literal" } */
+  return vec_test_data_class (source, condition_flag); /* { dg-error "argument 2 must be a literal between 0 and 127, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-12.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-12.c
index 350b4c10205..4feb3918767 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-12.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-12.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_lt_dd (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_lt_dd (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-14.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-14.c
index 011d20039d0..ef4d6ad707b 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-14.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-14.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p, unsigned int significance)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_lt_dd (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_lt_dd (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-17.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-17.c
index 28033dbac18..5a9ab5126fc 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-17.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-17.c
@@ -8,7 +8,7 @@  int doTestBCDSignificance (_Decimal128 *p)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_lt_td (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_lt_td (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-19.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-19.c
index 092b9c0f7c5..f1918a251c2 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-19.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-19.c
@@ -8,5 +8,5 @@  int doTestBCDSignificance (_Decimal128 *p, unsigned int significance)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_lt_td (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_lt_td (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-2.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-2.c
index 4b72fa8edc3..b353d63f5a5 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-2.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_lt (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_lt (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-22.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-22.c
index 15d7a352fdf..464dc66d457 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-22.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-22.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_gt (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_gt (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-24.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-24.c
index f6ed00a73dd..6e5e07b1c88 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-24.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-24.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p, unsigned int significance)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_gt (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_gt (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-27.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-27.c
index 8e3954d6b93..d8760cefc94 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-27.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-27.c
@@ -8,7 +8,7 @@  int doTestBCDSignificance (_Decimal128 *p)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_gt (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_gt (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-29.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-29.c
index f6c0ede46cc..fed06bbbb6c 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-29.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-29.c
@@ -8,5 +8,5 @@  int doTestBCDSignificance (_Decimal128 *p, unsigned int significance)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_gt (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_gt (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-32.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-32.c
index d24f3982ee9..868146c8f53 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-32.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-32.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_gt_dd (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_gt_dd (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-34.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-34.c
index b6620c51f2a..de174998d21 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-34.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-34.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p, unsigned int significance)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_gt_dd (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_gt_dd (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-37.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-37.c
index dc4c8ecdd00..1e5ff356ceb 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-37.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-37.c
@@ -8,7 +8,7 @@  int doTestBCDSignificance (_Decimal128 *p)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_gt_td (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_gt_td (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-39.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-39.c
index 1aee9efe919..b5f886d861a 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-39.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-39.c
@@ -8,5 +8,5 @@  int doTestBCDSignificance (_Decimal128 *p, unsigned int significance)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_gt_td (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_gt_td (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-4.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-4.c
index 6397aae3e56..ad840bf5465 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-4.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-4.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p, unsigned int significance)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_lt (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_lt (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-42.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-42.c
index fc6b3568d09..586c86f2ab7 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-42.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-42.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_eq (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_eq (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-44.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-44.c
index b896865e6bb..dc01b7fc614 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-44.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-44.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p, unsigned int significance)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_eq (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_eq (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-47.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-47.c
index edfac68b0e8..9ff41263531 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-47.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-47.c
@@ -8,7 +8,7 @@  int doTestBCDSignificance (_Decimal128 *p)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_eq (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_eq (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-49.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-49.c
index e7b50dc108e..5040ac87ed6 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-49.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-49.c
@@ -8,5 +8,5 @@  int doTestBCDSignificance (_Decimal128 *p, unsigned int significance)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_eq (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_eq (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-52.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-52.c
index c9431b5ea1a..a79e6b5dbb1 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-52.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-52.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_eq_dd (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_eq_dd (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-54.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-54.c
index 2fdb58f6748..5e9a93fd05e 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-54.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-54.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p, unsigned int significance)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_eq_dd (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_eq_dd (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-57.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-57.c
index 275bf8d0ac2..ec2abc6499f 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-57.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-57.c
@@ -8,7 +8,7 @@  int doTestBCDSignificance (_Decimal128 *p)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_eq_td (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_eq_td (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-59.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-59.c
index e1da3d810ef..6f63d0f831f 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-59.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-59.c
@@ -8,5 +8,5 @@  int doTestBCDSignificance (_Decimal128 *p, unsigned int significance)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_eq_td (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_eq_td (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-62.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-62.c
index 44aaab201f9..4786be7bb48 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-62.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-62.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_ov (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_ov (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-64.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-64.c
index fb3331162c7..c406d4d1ca8 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-64.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-64.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p, unsigned int significance)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_ov (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_ov (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-67.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-67.c
index 59471cfb645..d7b3b6f01ac 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-67.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-67.c
@@ -8,7 +8,7 @@  int doTestBCDSignificance (_Decimal128 *p)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_ov (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_ov (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-69.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-69.c
index c9e1721b3d6..bc9ced3ceb0 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-69.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-69.c
@@ -8,5 +8,5 @@  int doTestBCDSignificance (_Decimal128 *p, unsigned int significance)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_ov (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_ov (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-7.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-7.c
index d0d3f23c853..dcfe162c832 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-7.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-7.c
@@ -8,5 +8,5 @@  int doTestBCDSignificance (_Decimal128 *p)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_lt (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_lt (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-72.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-72.c
index 725cc5432b9..04d950e3df5 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-72.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-72.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_ov_dd (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_ov_dd (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-74.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-74.c
index c6ffd51d9f4..369312d84ea 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-74.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-74.c
@@ -8,6 +8,6 @@  int doTestBCDSignificance (_Decimal64 *p, unsigned int significance)
 {
   _Decimal64 source = *p;
 
-  return __builtin_dfp_dtstsfi_ov_dd (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_ov_dd (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-77.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-77.c
index d279bfb5751..ca6c739a045 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-77.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-77.c
@@ -8,7 +8,7 @@  int doTestBCDSignificance (_Decimal128 *p)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_ov_td (65, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_ov_td (65, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
 
 
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-79.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-79.c
index b88b5a86bcb..9ee60cfe8e2 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-79.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-79.c
@@ -8,5 +8,5 @@  int doTestBCDSignificance (_Decimal128 *p, unsigned int significance)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_ov_td (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_ov_td (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-9.c b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-9.c
index b2073f56b05..9a9ff3899f2 100644
--- a/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-9.c
+++ b/gcc/testsuite/gcc.target/powerpc/dfp/dtstsfi-9.c
@@ -8,5 +8,5 @@  int doTestBCDSignificance (_Decimal128 *p, unsigned int significance)
 {
   _Decimal128 source = *p;
 
-  return __builtin_dfp_dtstsfi_lt (significance, source);	/* { dg-error "argument 1 must be a 6-bit unsigned literal" } */
+  return __builtin_dfp_dtstsfi_lt (significance, source);	/* { dg-error "argument 1 must be a literal between 0 and 63, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/pr80315-1.c b/gcc/testsuite/gcc.target/powerpc/pr80315-1.c
index f37f1f169a2..7198611258f 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr80315-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr80315-1.c
@@ -10,6 +10,6 @@  main()
   int mask;
 
   /* Argument 2 must be 0 or 1.  Argument 3 must be in range 0..15.  */
-  res = __builtin_crypto_vshasigmaw (test, 1, 0xff); /* { dg-error {argument 3 must be a 4-bit unsigned literal} } */
+  res = __builtin_crypto_vshasigmaw (test, 1, 0xff); /* { dg-error {argument 3 must be a literal between 0 and 15, inclusive} } */
   return 0;
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/pr80315-2.c b/gcc/testsuite/gcc.target/powerpc/pr80315-2.c
index 0819a0511b7..0f77f775ad3 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr80315-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr80315-2.c
@@ -10,6 +10,6 @@  main ()
   int mask;
 
   /* Argument 2 must be 0 or 1.  Argument 3 must be in range 0..15.  */
-  res = __builtin_crypto_vshasigmad (test, 1, 0xff); /* { dg-error {argument 3 must be a 4-bit unsigned literal} } */
+  res = __builtin_crypto_vshasigmad (test, 1, 0xff); /* { dg-error {argument 3 must be a literal between 0 and 15, inclusive} } */
   return 0;
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/pr80315-3.c b/gcc/testsuite/gcc.target/powerpc/pr80315-3.c
index cc2e46cf5cb..398c512274d 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr80315-3.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr80315-3.c
@@ -12,6 +12,6 @@  main ()
   int mask;
 
   /* Argument 2 must be 0 or 1.  Argument 3 must be in range 0..15.  */
-  res = vec_shasigma_be (test, 1, 0xff); /* { dg-error {argument 3 must be a 4-bit unsigned literal} } */
+  res = vec_shasigma_be (test, 1, 0xff); /* { dg-error {argument 3 must be a literal between 0 and 15, inclusive} } */
   return res;
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/pr80315-4.c b/gcc/testsuite/gcc.target/powerpc/pr80315-4.c
index ac12910741b..4326ff64c18 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr80315-4.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr80315-4.c
@@ -12,6 +12,6 @@  main ()
   int mask;
 
   /* Argument 2 must be 0 or 1.  Argument 3 must be in range 0..15.  */
-  res = vec_shasigma_be (test, 1, 0xff); /* { dg-error {argument 3 must be a 4-bit unsigned literal} } */
+  res = vec_shasigma_be (test, 1, 0xff); /* { dg-error {argument 3 must be a literal between 0 and 15, inclusive} } */
   return res;
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/pr82015.c b/gcc/testsuite/gcc.target/powerpc/pr82015.c
index ec939e96bb8..40f1c7d2a5c 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr82015.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr82015.c
@@ -5,10 +5,10 @@ 
 
 unsigned long foo_11(__vector __int128_t *p)
 {
-  return __builtin_unpack_vector_int128(*p, 11); /* { dg-error "argument 2 must be a 1-bit unsigned literal" } */
+  return __builtin_unpack_vector_int128(*p, 11); /* { dg-error "argument 2 must be a literal between 0 and 1, inclusive" } */
 }
 
 unsigned long foo_n(__vector __int128_t *p, unsigned long n)
 {
-  return __builtin_unpack_vector_int128(*p, n);	/* { dg-error "argument 2 must be a 1-bit unsigned literal" } */
+  return __builtin_unpack_vector_int128(*p, n);	/* { dg-error "argument 2 must be a literal between 0 and 1, inclusive" } */
 }
diff --git a/gcc/testsuite/gcc.target/powerpc/pr91903.c b/gcc/testsuite/gcc.target/powerpc/pr91903.c
index 3045d07da7d..7f9470ee905 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr91903.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr91903.c
@@ -12,62 +12,62 @@  vector signed int retsi;
 
 void test_int(vector signed int a, const int b)
 {
-	retf = vec_ctf(a,b); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retf = vec_ctf(a,-1); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retf = vec_ctf(a,-31); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retf = vec_ctf(a,-32); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
+	retf = vec_ctf(a,b); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retf = vec_ctf(a,-1); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retf = vec_ctf(a,-31); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retf = vec_ctf(a,-32); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
 	retf = vec_ctf(a,1);
 	retf = vec_ctf(a,31);
-	retf = vec_ctf(a,32); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retf = vec_ctf(a,42); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
+	retf = vec_ctf(a,32); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retf = vec_ctf(a,42); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
 }
 
 void test_uint(vector unsigned int a, const int b)
 {
-	retf = vec_ctf(a,b); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retf = vec_ctf(a,-1); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retf = vec_ctf(a,-31); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retf = vec_ctf(a,-32); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
+	retf = vec_ctf(a,b); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retf = vec_ctf(a,-1); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retf = vec_ctf(a,-31); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retf = vec_ctf(a,-32); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
 	retf = vec_ctf(a,1);
 	retf = vec_ctf(a,31);
-	retf = vec_ctf(a,32); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retf = vec_ctf(a,42); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
+	retf = vec_ctf(a,32); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retf = vec_ctf(a,42); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
 }
 
 void test_longlong(vector signed long long a, const int b,int x)
 {
-	retd = vec_ctf(a,b); /* { dg-error "argument 2 must be a 5-bit unsigned literal"  } */
-	retd = vec_ctf(a,-1); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retd = vec_ctf(a,-31); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retd = vec_ctf(a,-32); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
+	retd = vec_ctf(a,b); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive"  } */
+	retd = vec_ctf(a,-1); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retd = vec_ctf(a,-31); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retd = vec_ctf(a,-32); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
 	retd = vec_ctf(a,1);
 	retd = vec_ctf(a,31);
-	retd = vec_ctf(a,32); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retd = vec_ctf(a,42); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
+	retd = vec_ctf(a,32); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retd = vec_ctf(a,42); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
 }
 
 void test_ulonglong(vector unsigned long long a, const int b,int x)
 {
-	retd = vec_ctf(a,b); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retd = vec_ctf(a,-1); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retd = vec_ctf(a,-31); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retd = vec_ctf(a,-32); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
+	retd = vec_ctf(a,b); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retd = vec_ctf(a,-1); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retd = vec_ctf(a,-31); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retd = vec_ctf(a,-32); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
 	retd = vec_ctf(a,1);
 	retd = vec_ctf(a,31);
-	retd = vec_ctf(a,32); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retd = vec_ctf(a,42); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
+	retd = vec_ctf(a,32); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retd = vec_ctf(a,42); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
 }
 
 
 void test_cts_1(vector float a, const int b)
 {
-	retsi = vec_cts(a,b); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retsi = vec_cts(a,-1); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retsi = vec_cts(a,-31); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retsi = vec_cts(a,-32); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
+	retsi = vec_cts(a,b); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retsi = vec_cts(a,-1); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retsi = vec_cts(a,-31); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retsi = vec_cts(a,-32); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
 	retsi = vec_cts(a,1);
 	retsi = vec_cts(a,31);
-	retsi = vec_cts(a,32); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
-	retsi = vec_cts(a,42); /* { dg-error "argument 2 must be a 5-bit unsigned literal" } */
+	retsi = vec_cts(a,32); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
+	retsi = vec_cts(a,42); /* { dg-error "argument 2 must be a literal between 0 and 31, inclusive" } */
 }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/test_fpscr_rn_builtin_error.c b/gcc/testsuite/gcc.target/powerpc/test_fpscr_rn_builtin_error.c
index 10391b71008..62152c677ec 100644
--- a/gcc/testsuite/gcc.target/powerpc/test_fpscr_rn_builtin_error.c
+++ b/gcc/testsuite/gcc.target/powerpc/test_fpscr_rn_builtin_error.c
@@ -8,11 +8,11 @@  int main ()
      int arguments.  The builtins __builtin_set_fpscr_rn() also supports a
      variable as an argument but can't test variable value at compile time.  */
 
-  __builtin_mtfsb0(-1);  /* { dg-error "argument 1 must be a 5-bit unsigned literal" } */
-  __builtin_mtfsb0(32);  /* { dg-error "argument 1 must be a 5-bit unsigned literal" } */
+  __builtin_mtfsb0(-1);  /* { dg-error "argument 1 must be a literal between 0 and 31, inclusive" } */
+  __builtin_mtfsb0(32);  /* { dg-error "argument 1 must be a literal between 0 and 31, inclusive" } */
 
-  __builtin_mtfsb1(-1);  /* { dg-error "argument 1 must be a 5-bit unsigned literal" } */
-  __builtin_mtfsb1(32);  /* { dg-error "argument 1 must be a 5-bit unsigned literal" } */ 
+  __builtin_mtfsb1(-1);  /* { dg-error "argument 1 must be a literal between 0 and 31, inclusive" } */
+  __builtin_mtfsb1(32);  /* { dg-error "argument 1 must be a literal between 0 and 31, inclusive" } */ 
 
   __builtin_set_fpscr_rn(-1);  /* { dg-error "argument 1 must be a variable or a literal between 0 and 3, inclusive" } */ 
   __builtin_set_fpscr_rn(4);   /* { dg-error "argument 1 must be a variable or a literal between 0 and 3, inclusive" } */ 
diff --git a/gcc/testsuite/gcc.target/powerpc/vec-ternarylogic-10.c b/gcc/testsuite/gcc.target/powerpc/vec-ternarylogic-10.c
index 35700fcb364..d5ec14cf4ba 100644
--- a/gcc/testsuite/gcc.target/powerpc/vec-ternarylogic-10.c
+++ b/gcc/testsuite/gcc.target/powerpc/vec-ternarylogic-10.c
@@ -28,7 +28,7 @@  doTests00000001 (vector unsigned __int128 a_sources [],
 	  vector unsigned __int128 b = b_sources [j];
 	  vector unsigned __int128 c = c_sources [k];
 	  vector unsigned __int128 result;
-	  result = vec_ternarylogic (a, b, c, 0xfff); /* { dg-error "8-bit unsigned literal" } */
+	  result = vec_ternarylogic (a, b, c, 0xfff); /* { dg-error "literal between 0 and 255, inclusive" } */
 	  vector unsigned __int128 intended = (a & b & c);
 	  if (!vector_equal (result, intended))
 	    abort ();
@@ -47,7 +47,7 @@  doTests11100101 (vector unsigned __int128 a_sources [],
 	  vector unsigned __int128 b = b_sources [j];
 	  vector unsigned __int128 c = c_sources [k];
 	  vector unsigned __int128 result;
-	  result = vec_ternarylogic (a, b, c, -1); /* { dg-error "8-bit unsigned literal" } */
+	  result = vec_ternarylogic (a, b, c, -1); /* { dg-error "literal between 0 and 255, inclusive" } */
 	  vector unsigned __int128 intended = { 0 };
 	  // Supposed to be a ? c: nand (b,c)
 	  for (int l = 0; l < 1; l++)
@@ -80,7 +80,7 @@  doTests11110011 (vector unsigned __int128 a_sources [],
 	  vector unsigned __int128 b = b_sources [j];
 	  vector unsigned __int128 c = c_sources [k];
 	  vector unsigned __int128 result;
-	  result = vec_ternarylogic (a, b, c, i);  /* { dg-error "8-bit unsigned literal" } */
+	  result = vec_ternarylogic (a, b, c, i);  /* { dg-error "literal between 0 and 255, inclusive" } */
 	  vector unsigned __int128 intended = { 0 };
 	  for (int i = 0; i < 1; i++)
 	    intended [i] = b [i] | ~(a [i] & c [i]);