mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
3ec1c379f9
commit
75f6ec9afd
|
|
@ -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>
|
2011-03-25 Nathan Froyd <froydnj@codesourcery.com>
|
||||||
|
|
||||||
* fold-const.c (expr_location_or): New function.
|
* fold-const.c (expr_location_or): New function.
|
||||||
|
|
|
||||||
|
|
@ -1167,12 +1167,12 @@ enum reg_class
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FPA registers can't do subreg as all values are reformatted to internal
|
/* FPA registers can't do subreg as all values are reformatted to internal
|
||||||
precision. VFP registers may only be accessed in the mode they
|
precision. In VFPv1, VFP registers could only be accessed in the mode
|
||||||
were set. */
|
they were set, so subregs would be invalid there too. However, we don't
|
||||||
#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
|
support VFPv1 at the moment, and the restriction was lifted in VFPv2. */
|
||||||
(GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \
|
#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
|
||||||
? reg_classes_intersect_p (FPA_REGS, (CLASS)) \
|
(GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \
|
||||||
|| reg_classes_intersect_p (VFP_REGS, (CLASS)) \
|
? reg_classes_intersect_p (FPA_REGS, (CLASS)) \
|
||||||
: 0)
|
: 0)
|
||||||
|
|
||||||
/* The class value for index registers, and the one for base regs. */
|
/* The class value for index registers, and the one for base regs. */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue