diff options
author | Craig Topper <craig.topper@gmail.com> | 2013-09-16 04:29:58 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2013-09-16 04:29:58 +0000 |
commit | 5fefc00bac5ddd6f0700e71169bd7823af6b7c65 (patch) | |
tree | b19235703911d973db77dc5ffd79ddfb1b2c91e4 /lib/Target | |
parent | 1e3037f0be430ef2339838bbdede11f45658bd82 (diff) | |
download | external_llvm-5fefc00bac5ddd6f0700e71169bd7823af6b7c65.zip external_llvm-5fefc00bac5ddd6f0700e71169bd7823af6b7c65.tar.gz external_llvm-5fefc00bac5ddd6f0700e71169bd7823af6b7c65.tar.bz2 |
Make F16C feature flag imply AVX rather than just checking both at the patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190775 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/X86/X86.td | 3 | ||||
-rw-r--r-- | lib/Target/X86/X86InstrSSE.td | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/Target/X86/X86.td b/lib/Target/X86/X86.td index dc4a7ea..a045c35 100644 --- a/lib/Target/X86/X86.td +++ b/lib/Target/X86/X86.td @@ -122,7 +122,8 @@ def FeatureMOVBE : SubtargetFeature<"movbe", "HasMOVBE", "true", def FeatureRDRAND : SubtargetFeature<"rdrnd", "HasRDRAND", "true", "Support RDRAND instruction">; def FeatureF16C : SubtargetFeature<"f16c", "HasF16C", "true", - "Support 16-bit floating point conversion instructions">; + "Support 16-bit floating point conversion instructions", + [FeatureAVX]>; def FeatureFSGSBase : SubtargetFeature<"fsgsbase", "HasFSGSBase", "true", "Support FS/GS Base instructions">; def FeatureLZCNT : SubtargetFeature<"lzcnt", "HasLZCNT", "true", diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index 45789db..5aa5be6 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -8010,7 +8010,7 @@ multiclass f16c_ps2ph<RegisterClass RC, X86MemOperand x86memop, Intrinsic Int> { TA, OpSize, VEX; } -let Predicates = [HasAVX, HasF16C] in { +let Predicates = [HasF16C] in { defm VCVTPH2PS : f16c_ph2ps<VR128, f64mem, int_x86_vcvtph2ps_128>; defm VCVTPH2PSY : f16c_ph2ps<VR256, f128mem, int_x86_vcvtph2ps_256>, VEX_L; defm VCVTPS2PH : f16c_ps2ph<VR128, f64mem, int_x86_vcvtps2ph_128>; |