diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-04-14 11:31:04 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-04-14 11:31:04 +0000 |
commit | 162669a8ecb0e22c9e1f62971e6be2235cf182b1 (patch) | |
tree | 10f9970687d86f79e9d680bc125b4ae6668a598c /gcc/reg-stack.c | |
parent | 13d9b8f8a19df18f2842100a21ce74610675e1d7 (diff) | |
download | gcc-162669a8ecb0e22c9e1f62971e6be2235cf182b1.tar.gz |
* reg-stack.c (subst_stack_regs_pat): Handle <UNSPEC_FIST_FLOOR> and
<UNSPEC_FIST_CEIL> case.
* config/i386/i386.md (UNSPEC_FIST_FLOOR, UNSPEC_FIST_CEIL): New.
(*fist<mode>2_floor_1, fistdi2_floor, fistdi2_floor_with_temp)
(fist<mode>2_floor, fist<mode>2_floor_with_temp): New isns patterns
to implement lfloor and llfloor built-ins as x87 intrinsic function.
(fistdi2_floor, fist<mode>2_floor splitters): New splitters.
(lfloor<mode>2): New expanders.
(*fist<mode>2_ceil_1, fistdi2_ceil, fistdi2_ceil_with_temp)
(fist<mode>2_ceil, fist<mode>2_ceil_with_temp): New isns patterns
to implement lceil and llceil built-ins as x87 intrinsic function.
(fistdi2_ceil, fist<mode>2_ceil splitters): New splitters.
(lceil<mode>2): New expanders.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98132 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r-- | gcc/reg-stack.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 8ae4d3760b7..a49d9e9a108 100644 --- a/gcc/reg-stack.c +++ b/gcc/reg-stack.c @@ -1671,6 +1671,10 @@ subst_stack_regs_pat (rtx insn, stack regstack, rtx pat) switch (XINT (pat_src, 1)) { case UNSPEC_FIST: + + case UNSPEC_FIST_FLOOR: + case UNSPEC_FIST_CEIL: + /* These insns only operate on the top of the stack. */ src1 = get_true_reg (&XVECEXP (pat_src, 0, 0)); |