From: uros Date: Mon, 7 Nov 2011 21:27:01 +0000 (+0000) Subject: * config/i386/i386.c (ix86_builtin_vectorized_function): Handle X-Git-Tag: upstream/4.9.2~16353 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=efb9f7cf0957746a18ee049ae986f137e4dc137d;p=platform%2Fupstream%2Flinaro-gcc.git * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 33b2684..16e14dd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,8 +1,13 @@ +2011-11-07 Uros Bizjak + + * 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 * 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 @@ -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 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 4461fbb..4c2c800 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 d6a82b6..35273d9 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}";