aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2011-11-07 21:27:01 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2011-11-07 21:27:01 +0000
commitefb9f7cf0957746a18ee049ae986f137e4dc137d (patch)
tree699cb6c0fb76816a171e13cd72cf8a2830ceee16
parentc78e2b769a7ca768ec2cd1f8c3bf87a8e74f8240 (diff)
* config/i386/i386.c (ix86_builtin_vectorized_function): Handle
BUILT_IN_IRINT, BUILT_IN_IRINTF, BUILT_IN_LLRINT and BUILT_IN_LLRINTF. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181116 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/i386/i386.c4
-rw-r--r--gcc/config/i386/i386.md4
3 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 33b268495f0..16e14dd53d2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,8 +1,13 @@
+2011-11-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_builtin_vectorized_function): Handle
+ BUILT_IN_IRINT, BUILT_IN_IRINTF, BUILT_IN_LLRINT and BUILT_IN_LLRINTF.
+
2011-11-07 Andrew MacLeod <amacleod@redhat.com>
* optabs.c (get_atomic_op_for_code): Fill in optab table at runtime so
SWITCHABLE_TARGET can change the values during compilation.
- (expand_atomic_fetch_op): Handle parameter change ripples for
+ (expand_atomic_fetch_op): Handle parameter change ripples for
get_atomic_op_for_code call.
2011-11-07 Andrew MacLeod <amacleod@redhat.com>
@@ -19,7 +24,7 @@
call originated from here.
(expand_builtin_atomic_exchange): Add origination flag.
(expand_builtin_atomic_store): Add origination flag.
- * expr.h (expand_atomic_exchange, expand_atomic_store): Add boolean
+ * expr.h (expand_atomic_exchange, expand_atomic_store): Add boolean
parameters to indicate implementation fall back options.
2011-11-07 Georg-Johann Lay <avr@gjlay.de>
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 4461fbba82d..4c2c800056c 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -29268,13 +29268,17 @@ ix86_builtin_vectorized_function (tree fndecl, tree type_out,
}
break;
+ case BUILT_IN_IRINT:
case BUILT_IN_LRINT:
+ case BUILT_IN_LLRINT:
if (out_mode == SImode && out_n == 4
&& in_mode == DFmode && in_n == 2)
return ix86_builtins[IX86_BUILTIN_VEC_PACK_SFIX];
break;
+ case BUILT_IN_IRINTF:
case BUILT_IN_LRINTF:
+ case BUILT_IN_LLRINTF:
if (out_mode == SImode && in_mode == SFmode)
{
if (out_n == 4 && in_n == 4)
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index d6a82b654cd..35273d95683 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -2053,7 +2053,7 @@
return "mov{l}\t{%k1, %k0|%k0, %k1}";
else if (which_alternative == 2)
return "movabs{q}\t{%1, %0|%0, %1}";
- else if (ix86_use_lea_for_mov(insn, operands))
+ else if (ix86_use_lea_for_mov (insn, operands))
return "lea{q}\t{%a1, %0|%0, %a1}";
else
return "mov{q}\t{%1, %0|%0, %1}";
@@ -2290,7 +2290,7 @@
default:
gcc_assert (!flag_pic || LEGITIMATE_PIC_OPERAND_P (operands[1]));
- if (ix86_use_lea_for_mov(insn, operands))
+ if (ix86_use_lea_for_mov (insn, operands))
return "lea{l}\t{%a1, %0|%0, %a1}";
else
return "mov{l}\t{%1, %0|%0, %1}";