> -----Original Message-----
> From: Richard Sandiford <richard.sandif...@arm.com>
> Sent: 27 April 2020 17:14
> To: gcc-patches@gcc.gnu.org
> Cc: ni...@redhat.com; Richard Earnshaw <richard.earns...@arm.com>;
> Ramana Radhakrishnan <ramana.radhakrish...@arm.com>; Kyrylo
> Tkachov <kyrylo.tkac...@arm.com>
> Subject: [PATCH] arm: Fix an rtl checking failure in cde-errors.c
>
> cde-errors.c and cde-mve-error-2.c were failing with an rtl checking
> failure because we applied UINTVAL to a nonconstant argument
> (specifically a REG).
>
> Tested on arm-linux-gnueabihf. OK to install?
Ok.
Thanks,
Kyrill
>
> Richard
>
>
> 2020-04-27 Richard Sandiford <richard.sandif...@arm.com>
>
> gcc/
> * config/arm/arm-builtins.c (arm_expand_builtin_args): Only apply
> UINTVAL to CONST_INTs.
> ---
> gcc/config/arm/arm-builtins.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c
> index 16d2fb0b3f0..aee3fd6e2ff 100644
> --- a/gcc/config/arm/arm-builtins.c
> +++ b/gcc/config/arm/arm-builtins.c
> @@ -3081,7 +3081,8 @@ constant_arg:
> {
> if (argc == 0)
> {
> - unsigned int cp_bit = UINTVAL (op[argc]);
> + unsigned int cp_bit = (CONST_INT_P (op[argc])
> + ? UINTVAL (op[argc]) : -1);
> if (IN_RANGE (cp_bit, 0,
> ARM_CDE_CONST_COPROC))
> error ("%Kcoprocessor %d is not enabled "
> "with +cdecp%d", exp, cp_bit, cp_bit);