Hi, lp1243022.c will fail with options: -mfpu=neon -mfloat-abi=hard.
Logs show it does not generate auto-incremental instruction in pass auto_inc_dec. In this case, the check of REG_INC note at subreg2 will be invalid. So skip the check for target arm-neon. All PASS with the following options: -mthumb/-mcpu=cortex-a9/-mfloat-abi=hard -mthumb/-mcpu=cortex-a9/-mfloat-abi=soft -mthumb/-mcpu=cortex-a9/-mfloat-abi=softfp -mthumb/-mcpu=cortex-a9/-mfloat-abi=soft/-mfpu=vfpv3 -mthumb/-mcpu=cortex-a9/-mfloat-abi=softfp/-mfpu=vfpv3 -mthumb/-mcpu=cortex-a9/-mfloat-abi=hard/-mfpu=vfpv3 -mthumb/-mcpu=cortex-a9/-mfloat-abi=soft/-mfpu=neon -mthumb/-mcpu=cortex-a9/-mfloat-abi=softfp/-mfpu=neon -mthumb/-mcpu=cortex-a9/-mfloat-abi=hard/-mfpu=neon -mthumb/-mcpu=cortex-a15/-mfloat-abi=hard -mthumb/-mcpu=cortex-a15/-mfloat-abi=soft -mthumb/-mcpu=cortex-a15/-mfloat-abi=softfp -mthumb/-mcpu=cortex-a15/-mfloat-abi=soft/-mfpu=vfpv4 -mthumb/-mcpu=cortex-a15/-mfloat-abi=softfp/-mfpu=vfpv4 -mthumb/-mcpu=cortex-a15/-mfloat-abi=hard/-mfpu=vfpv4 -mthumb/-mcpu=cortex-a15/-mfloat-abi=soft/-mfpu=neon -mthumb/-mcpu=cortex-a15/-mfloat-abi=softfp/-mfpu=neon -mthumb/-mcpu=cortex-a15/-mfloat-abi=hard/-mfpu=neon Is it OK? Thanks! -Zhenqiang testsuite/ChangeLog: 2013-11-08 Zhenqiang Chen <zhenqiang.c...@linaro.org> * gcc.target/arm/lp1243022.c: Skip target arm-neon. --- a/gcc/testsuite/gcc.target/arm/lp1243022.c +++ b/gcc/testsuite/gcc.target/arm/lp1243022.c @@ -1,7 +1,7 @@ /* { dg-do compile { target arm_thumb2 } } */ /* { dg-options "-O2 -fdump-rtl-subreg2" } */ -/* { dg-final { scan-rtl-dump "REG_INC" "subreg2" } } */ +/* { dg-final { scan-rtl-dump "REG_INC" "subreg2" { target { ! arm_neon} } } } */ /* { dg-final { cleanup-rtl-dump "subreg2" } } */ struct device; typedef unsigned int __u32;