diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-28 11:30:41 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-28 11:30:41 +0000 |
commit | ef2f1a1042205241206d078c68f75bcfe1170e15 (patch) | |
tree | 984f65a3da9766999d6ccf8748f98e89fbad2338 /gcc/optabs.h | |
parent | bb37fa64f4cde3c3107b8595d8d21d0855d64b78 (diff) | |
download | gcc-ef2f1a1042205241206d078c68f75bcfe1170e15.tar.gz |
2006-10-28 Richard Guenther <rguenther@suse.de>
PR target/28806
* builtins.c (expand_builtin_int_roundingfn_2): Expand
BUILT_IN_LROUND and BUILT_IN_LLROUND from here.
(expand_builtin): Adjust likewise.
* genopinit.c (optabs[]): Add lround optab.
* optabs.c (init_optabs): Initialize lround_optab.
* optabs.h (enum convert_optab_index): Add COI_lround.
(lround_optab): Define.
* config/i386/i386-protos.h (ix86_expand_lround): Declare.
* config/i386/i386.c (ix86_sse_copysign_to_positive): New
static function.
(ix86_expand_lround): New function.
* config/i386/i386.md (lround<mode>di2, lround<mode>si2):
New expanders.
* doc/md.texi (lroundMN2): Document.
* gcc.target/i386/math-torture/lround.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118105 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.h')
-rw-r--r-- | gcc/optabs.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/optabs.h b/gcc/optabs.h index 4670b5b7fb2..0afc2ecc68c 100644 --- a/gcc/optabs.h +++ b/gcc/optabs.h @@ -406,6 +406,7 @@ enum convert_optab_index COI_ufloat, COI_lrint, + COI_lround, COI_MAX }; @@ -422,6 +423,7 @@ extern GTY(()) convert_optab convert_optab_table[COI_MAX]; #define sfloat_optab (convert_optab_table[COI_sfloat]) #define ufloat_optab (convert_optab_table[COI_ufloat]) #define lrint_optab (convert_optab_table[COI_lrint]) +#define lround_optab (convert_optab_table[COI_lround]) /* These arrays record the insn_code of insns that may be needed to perform input and output reloads of special objects. They provide a |