summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2016-08-31 15:09:34 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2016-08-31 15:09:34 +0000
commit6199b4fd49af788ec9929a6e9320172709643ad6 (patch)
tree62f005dd662018cbb35c6c34ad03b66f4cdd947f /llvm/lib
parent669130ffdf3d7637affb29770be6bf39b2abe953 (diff)
downloadbcm5719-llvm-6199b4fd49af788ec9929a6e9320172709643ad6.tar.gz
bcm5719-llvm-6199b4fd49af788ec9929a6e9320172709643ad6.zip
[X86][SSE] Improve awareness of (v)cvtpd2ps implicit zeroing of upper 64-bits of xmm result
Associate x86_sse2_cvtpd2ps with X86ISD::VFPROUND to avoid inserting unnecessary zeroing shuffles. Differential Revision: https://reviews.llvm.org/D23797 llvm-svn: 280249
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86IntrinsicsInfo.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86IntrinsicsInfo.h b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
index 633add43bd7..7bc6a5a4fa8 100644
--- a/llvm/lib/Target/X86/X86IntrinsicsInfo.h
+++ b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
@@ -1884,6 +1884,7 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86_INTRINSIC_DATA(sse2_comile_sd, COMI, X86ISD::COMI, ISD::SETLE),
X86_INTRINSIC_DATA(sse2_comilt_sd, COMI, X86ISD::COMI, ISD::SETLT),
X86_INTRINSIC_DATA(sse2_comineq_sd, COMI, X86ISD::COMI, ISD::SETNE),
+ X86_INTRINSIC_DATA(sse2_cvtpd2ps, INTR_TYPE_1OP, X86ISD::VFPROUND, 0),
X86_INTRINSIC_DATA(sse2_max_pd, INTR_TYPE_2OP, X86ISD::FMAX, 0),
X86_INTRINSIC_DATA(sse2_min_pd, INTR_TYPE_2OP, X86ISD::FMIN, 0),
X86_INTRINSIC_DATA(sse2_movmsk_pd, INTR_TYPE_1OP, X86ISD::MOVMSK, 0),
OpenPOWER on IntegriCloud