summaryrefslogtreecommitdiff
path: root/gcc/optabs.h
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-28 11:30:41 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-28 11:30:41 +0000
commitef2f1a1042205241206d078c68f75bcfe1170e15 (patch)
tree984f65a3da9766999d6ccf8748f98e89fbad2338 /gcc/optabs.h
parentbb37fa64f4cde3c3107b8595d8d21d0855d64b78 (diff)
downloadgcc-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.h2
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