diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2011-03-25 18:26:40 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2011-03-25 18:26:40 +0000 |
commit | 75f6ec9afdb6457f7a728a4360b0a37160b88c4b (patch) | |
tree | 60eee22ff447cab83bb2e5574623510e3caaf2e5 /gcc | |
parent | 3ec1c379f9b7274b301c8365d60fdad3d110e131 (diff) | |
download | gcc-75f6ec9afdb6457f7a728a4360b0a37160b88c4b.zip gcc-75f6ec9afdb6457f7a728a4360b0a37160b88c4b.tar.gz gcc-75f6ec9afdb6457f7a728a4360b0a37160b88c4b.tar.bz2 |
arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS case to VFPv1.
gcc/
* config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
case to VFPv1.
From-SVN: r171520
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fec8d1b..64c4b5a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-03-25 Richard Sandiford <richard.sandiford@linaro.org> + + * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS + case to VFPv1. + 2011-03-25 Nathan Froyd <froydnj@codesourcery.com> * fold-const.c (expr_location_or): New function. diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 221fbf2..add8ece 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -1167,12 +1167,12 @@ enum reg_class } /* FPA registers can't do subreg as all values are reformatted to internal - precision. VFP registers may only be accessed in the mode they - were set. */ -#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \ - (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \ - ? reg_classes_intersect_p (FPA_REGS, (CLASS)) \ - || reg_classes_intersect_p (VFP_REGS, (CLASS)) \ + precision. In VFPv1, VFP registers could only be accessed in the mode + they were set, so subregs would be invalid there too. However, we don't + support VFPv1 at the moment, and the restriction was lifted in VFPv2. */ +#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \ + (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \ + ? reg_classes_intersect_p (FPA_REGS, (CLASS)) \ : 0) /* The class value for index registers, and the one for base regs. */ |