Skip to content
This repository has been archived by the owner on May 7, 2024. It is now read-only.

Commit

Permalink
Relax MODES_TIEABLE_P constraint
Browse files Browse the repository at this point in the history
It only needs to return false when both modes are floating-point.
It's OK if only one is floating-point.
  • Loading branch information
aswaterman committed Jan 5, 2017
1 parent 287c5cb commit cd5c51b
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions gcc/config/riscv/riscv.h
Original file line number Diff line number Diff line change
Expand Up @@ -383,9 +383,10 @@ along with GCC; see the file COPYING3. If not see

/* Don't allow floating-point modes to be tied, since type punning of
single-precision and double-precision is implementation defined. */
#define MODES_TIEABLE_P(MODE1, MODE2) \
((MODE1) == (MODE2) || (GET_MODE_CLASS (MODE1) == MODE_INT \
&& GET_MODE_CLASS (MODE2) == MODE_INT))
#define MODES_TIEABLE_P(MODE1, MODE2) \
((MODE1) == (MODE2) \
|| !(GET_MODE_CLASS (MODE1) == MODE_FLOAT \
&& GET_MODE_CLASS (MODE2) == MODE_FLOAT))

/* Use s0 as the frame pointer if it is so requested. */
#define HARD_FRAME_POINTER_REGNUM 8
Expand Down

0 comments on commit cd5c51b

Please sign in to comment.