]> granicus.if.org Git - clang/commitdiff
[ARM64] Allow the disabling of NEON and crypto instructions. Update tests to pass...
authorJames Molloy <james.molloy@arm.com>
Wed, 16 Apr 2014 15:33:48 +0000 (15:33 +0000)
committerJames Molloy <james.molloy@arm.com>
Wed, 16 Apr 2014 15:33:48 +0000 (15:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206394 91177308-0d34-0410-b5e6-96231b3b80d8

53 files changed:
lib/Basic/Targets.cpp
test/CodeGen/aarch64-neon-2velem.c
test/CodeGen/aarch64-neon-3v.c
test/CodeGen/aarch64-neon-across.c
test/CodeGen/aarch64-neon-extract.c
test/CodeGen/aarch64-neon-fcvt-intrinsics.c
test/CodeGen/aarch64-neon-fma.c
test/CodeGen/aarch64-neon-intrinsics.c
test/CodeGen/aarch64-neon-ldst-one.c
test/CodeGen/aarch64-neon-misc.c
test/CodeGen/aarch64-neon-perm.c
test/CodeGen/aarch64-neon-scalar-copy.c
test/CodeGen/aarch64-neon-scalar-x-indexed-elem.c
test/CodeGen/aarch64-neon-shifts.c
test/CodeGen/aarch64-neon-tbl.c
test/CodeGen/aarch64-neon-vcombine.c
test/CodeGen/aarch64-neon-vget-hilo.c
test/CodeGen/aarch64-poly128.c
test/CodeGen/aarch64-poly64.c
test/CodeGen/arm-aapcs-vfp.c
test/CodeGen/arm64-arguments.c
test/CodeGen/arm64-lanes.c
test/CodeGen/arm64-scalar-test.c
test/CodeGen/arm64-vrnd.c
test/CodeGen/arm64-vrsqrt.c
test/CodeGen/arm64_crypto.c
test/CodeGen/arm64_neon_high_half.c
test/CodeGen/arm64_vCMP.c
test/CodeGen/arm64_vLdStNum_lane.c
test/CodeGen/arm64_vMaxMin.c
test/CodeGen/arm64_vadd.c
test/CodeGen/arm64_vca.c
test/CodeGen/arm64_vcopy.c
test/CodeGen/arm64_vcreate.c
test/CodeGen/arm64_vcvtfp.c
test/CodeGen/arm64_vdup.c
test/CodeGen/arm64_vdupq_n_f64.c
test/CodeGen/arm64_vecCmpBr.c
test/CodeGen/arm64_vext.c
test/CodeGen/arm64_vfma.c
test/CodeGen/arm64_vget.c
test/CodeGen/arm64_vneg.c
test/CodeGen/arm64_vqmov.c
test/CodeGen/arm64_vrecps.c
test/CodeGen/arm64_vset_lane.c
test/CodeGen/arm64_vshift.c
test/CodeGen/arm64_vsli.c
test/CodeGen/arm64_vsri.c
test/CodeGen/arm64_vtst.c
test/CodeGenCXX/mangle-neon-vectors.cpp
test/CodeGenCXX/poly-unsigned.cpp
test/Preprocessor/init.c
test/Sema/arm64-neon-args.c

index 745cc389790535cfcfb8fc875f169040a6ab6a9d..2cf90701edff934160a02c98e7a1cb1f48eb9a4b 100644 (file)
@@ -4482,6 +4482,14 @@ class ARM64TargetInfo : public TargetInfo {
   static const TargetInfo::GCCRegAlias GCCRegAliases[];
   static const char *const GCCRegNames[];
 
+  enum FPUModeEnum {
+    FPUMode,
+    NeonMode
+  };
+
+  unsigned FPU;
+  unsigned Crypto;
+
   static const Builtin::Info BuiltinInfo[];
 
   std::string ABI;
@@ -4502,11 +4510,6 @@ public:
     LongDoubleWidth = LongDoubleAlign = 128;
     LongDoubleFormat = &llvm::APFloat::IEEEquad;
 
-    if (Triple.isOSBinFormatMachO())
-      DescriptionString = "e-m:o-i64:64-i128:128-n32:64-S128";
-    else
-      DescriptionString = "e-m:e-i64:64-i128:128-n32:64-S128";
-
     // {} in inline assembly are neon specifiers, not assembly variant
     // specifiers.
     NoAsmVariants = true;
@@ -4575,15 +4578,14 @@ public:
     Builder.defineMacro("__ARM_SIZEOF_MINIMAL_ENUM",
                         Opts.ShortEnums ? "1" : "4");
 
-    // FIXME: the target should support NEON as an optional extension, like
-    // the OSS AArch64.
-    Builder.defineMacro("__ARM_NEON");
-    // 64-bit NEON supports half, single and double precision operations.
-    Builder.defineMacro("__ARM_NEON_FP", "7");
+    if (FPU == NeonMode) {
+      Builder.defineMacro("__ARM_NEON");
+      // 64-bit NEON supports half, single and double precision operations.
+      Builder.defineMacro("__ARM_NEON_FP", "7");
+    }
 
-    // FIXME: the target should support crypto as an optional extension, like
-    // the OSS AArch64
-    Builder.defineMacro("__ARM_FEATURE_CRYPTO");
+    if (Crypto)
+      Builder.defineMacro("__ARM_FEATURE_CRYPTO");
   }
 
   virtual void getTargetBuiltins(const Builtin::Info *&Records,
@@ -4593,15 +4595,22 @@ public:
   }
 
   virtual bool hasFeature(StringRef Feature) const {
-    return llvm::StringSwitch<bool>(Feature)
-        .Case("arm64", true)
-        .Case("aarch64", true)
-        .Case("neon", true)
-        .Default(false);
+    return Feature == "aarch64" ||
+      Feature == "arm64" ||
+      (Feature == "neon" && FPU == NeonMode);
   }
 
   bool handleTargetFeatures(std::vector<std::string> &Features,
                             DiagnosticsEngine &Diags) override {
+    FPU = FPUMode;
+    Crypto = 0;
+    for (unsigned i = 0, e = Features.size(); i != e; ++i) {
+      if (Features[i] == "+neon")
+        FPU = NeonMode;
+      if (Features[i] == "+crypto")
+        Crypto = 1;
+    }
+
     setDescriptionString();
 
     return true;
index 19c9b16adc8b19ec86be632078640e1660ef0ae0..c00c8bb40fd234e3815a26967e3ff02af135a5b9 100644 (file)
@@ -4,7 +4,7 @@
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu -S -O3 -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon -S -O3 -o - %s | FileCheck %s
 
 // Test new aarch64 intrinsics and types
 
index 5251690c184c32d1857ffde360ea15ff427f0996..5c51c09605f8574d9926991b1b788dffa2bb009c 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu -S -O3 -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon -S -O3 -o - %s | FileCheck %s
 
 // Test new aarch64 intrinsics and types
 
index 17ac3efb85c333f2c2c4bc6d7d655ba5a610e4dc..330869ec8997c8378e87617b437a7afd8f8026d5 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
 
 // Test new aarch64 intrinsics and types
index 77d574cf0e29f866e9e727b0d41f808d739692fb..b8da2b842e2b8259365a806a7c37efdd897b71b3 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
 
 // Test new aarch64 intrinsics and types
index 77022f58fe319dec9328bbbb84035ad7321d1222..c63ce8557d8503fe102b17043e784f29fbf77eea 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
 
 // Test new aarch64 intrinsics and types
index 85603c52576b90fadca47dc1262b60aaa5aab90d..68f2fbc52aa0eb3c4046e02cd971bc2dd85812c5 100644 (file)
@@ -4,7 +4,7 @@
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck -check-prefix=CHECK-FMA %s
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu -S -O3 -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon -S -O3 -o - %s | FileCheck %s
 
 // Test new aarch64 intrinsics and types
 
index 4e8c40528e214837e68f73fb69acebc3add06255..9cff0bc02744c5ff318a01a9a07339a456290dd4 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-AARCH64
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-ARM64
 
 // Test new aarch64 intrinsics and types
index 2d63628e9b65ee6cd6e3c22f48c30d85c2a4c388..c6e0f85e8736068cac8e7c8d2b7f9a350ba95b30 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
 
 #include <arm_neon.h>
index dce00f3454331593381c07473fcb89387c03997e..9a5569b63de2522f98452ce5cabb134fee3cf31a 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
 
 // Test new aarch64 intrinsics and types
index c9a3d600dc567bdc485147c86331d170ddb683bb..bcff83de36704c496b6fb3d72c32919a79b87e6d 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
 
 // Test new aarch64 intrinsics and types
index 227c6e04e14cf8a5dadf2c6f491c4984d5389e94..806b626bff5d4cebb7075d72971dc01a0a31d6f3 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
 
 
index cbbdff8fc847567034f87557bb23854ee4ac0df9..ac7a7520ee477353324abd1a8f27b16d48f35240 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-cpu cyclone \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon -target-cpu cyclone \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
 
 // Test new aarch64 intrinsics and types
index 99adff1f04ea892a0b83010a08f50f2a4bcc693a..a6cb9be7c289f36e3d973bfb399f1058ee3ecd0e 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -emit-llvm -O1 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -emit-llvm -O1 -o - %s | FileCheck %s
 
 #include <arm_neon.h>
index 93cba1d7e184c5f4edd3c8e842374065252b2ff2..682fade592242d335bc4289c04b88f97c7267eff 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
 
 // Test new aarch64 intrinsics and types
index 381b05284923b48cbb02a379ce782ec82d610690..78f422ec2576ff54e204330c78dcc0803652e1ea 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -S -O3 -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu -S -O3 -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon -S -O3 -o - %s | FileCheck %s
 
 // Test new aarch64 intrinsics and types
 
index 4d80d414d384e3e9b4d338fdc9cdd62ff15d37af..96317ffd3282c13af2e7f099b0db5bf09af4f5e8 100644 (file)
@@ -2,7 +2,7 @@
 // REQUIRES: arm64-registered-target
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s --check-prefix CHECK-COMMON --check-prefix CHECK-AARCH64
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s --check-prefix CHECK-COMMON --check-prefix CHECK-ARM64
 
 // Test new aarch64 intrinsics and types
index 609e5962ce97439f14211ac78694afcee664d4da..3a4d363a531a67eaf92be7b96dccb9a1f6d09831 100644 (file)
@@ -3,7 +3,7 @@
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:  -ffp-contract=fast -S -O3 -o - %s | FileCheck %s --check-prefix=CHECK \
 // RUN:  --check-prefix=CHECK-AARCH64
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:  -ffp-contract=fast -S -O3 -o - %s | FileCheck %s --check-prefix=CHECK \
 // RUN:  --check-prefix=CHECK-ARM64
 
index c071147af216d0d0100198468d85f55591944725..3f544c221ecfa869c87757f3c08755b5ed078ad0 100644 (file)
@@ -3,7 +3,7 @@
 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
 // RUN:  -ffp-contract=fast -S -O3 -o - %s | FileCheck %s --check-prefix=CHECK \
 // RUN:  --check-prefix=CHECK-AARCH64
-// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
+// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \
 // RUN:  -ffp-contract=fast -S -O3 -o - %s | FileCheck %s --check-prefix=CHECK \
 // RUN:  --check-prefix=CHECK-ARM64
 
index cd9aaa473537261f6140dd45ad405b9617d1bbc4..9972158bb965faece34eb652f2f6100856b5562b 100644 (file)
@@ -12,7 +12,7 @@
 // RUN:  -ffreestanding \
 // RUN:  -emit-llvm -w -o - %s | FileCheck %s
 
-// RUN: %clang_cc1 -triple arm64-apple-darwin9 \
+// RUN: %clang_cc1 -triple arm64-apple-darwin9 -target-feature +neon \
 // RUN:   -ffreestanding \
 // RUN:   -emit-llvm -w -o - %s | FileCheck -check-prefix=CHECK64 %s
 
index edfb62832a42a7a466ba6fae72fa42499b6f32de..c5e489fd856c2756c342f01c8455e6e1cbc84c9f 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -triple arm64-apple-ios7 -target-abi darwinpcs -ffreestanding -emit-llvm -w -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-apple-ios7 -target-feature +neon -target-abi darwinpcs -ffreestanding -emit-llvm -w -o - %s | FileCheck %s
 
 // CHECK: define signext i8 @f0()
 char f0(void) {
index 63d7d0c8314a2860d5ba851289c0c5a3bf6a039f..b0d469467737f9cd00e653c03005e5e14de65807 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O3 -triple arm64-apple-ios7 -ffreestanding -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1 -O3 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -emit-llvm -o - %s | FileCheck %s
 
 #include <arm_neon.h>
 
index 1e1087d40bc662942ab3537e8a9a9940fb7ce75c..a2231be7ad621d5c45854fe41d9a18e4bb0d58e0 100644 (file)
@@ -1,5 +1,5 @@
 // REQUIRES: arm64-registered-target
-// RUN: %clang_cc1 -triple arm64-apple-ios7.0  \
+// RUN: %clang_cc1 -triple arm64-apple-ios7.0 -target-feature +neon  \
 // RUN:   -S -O1 -o - -ffreestanding %s | FileCheck %s
 
 // We're explicitly using arm_neon.h here: some types probably don't match
index 4de2ec73ac59c7eff5f4f6bac6c6e6ea0e86fdd3..de72013629b83988b149c37eed17fbbefe55abe5 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -triple arm64-apple-ios7 -ffreestanding -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -emit-llvm -o - %s | FileCheck %s
 
 #include <arm_neon.h>
 
index 45a536ca28edaafa82065b92b989de79802f75ff..90e012a994ccd1c2f52b588c77c90ff4bcf34fa5 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -triple arm64-apple-ios7.0 -ffreestanding -emit-llvm -O1 -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-apple-ios7.0 -target-feature +neon -ffreestanding -emit-llvm -O1 -o - %s | FileCheck %s
 
 #include <arm_neon.h>
 
index 7150c56c8af08cb59a404e504b5660c80909d1f7..c672d2d0ed47bcdaae221510b6fa520b9019bbfd 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -triple arm64-apple-ios7.0 -ffreestanding -Os -S -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-apple-ios7.0 -target-feature +neon -target-feature +crypto -ffreestanding -Os -S -o - %s | FileCheck %s
 // REQUIRES: arm64-registered-target
 
 #include <arm_neon.h>
index 920dded8d319814644fd3aa26a88ed57d90c8455..0cda5e19ea03b2ad855b142c88622e9279ace151 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -triple arm64-apple-ios7.0 -ffreestanding -Os -S -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-apple-ios7.0 -target-feature +neon -ffreestanding -Os -S -o - %s | FileCheck %s
 // REQUIRES: arm64-registered-target
 
 #include <arm_neon.h>
index 5fb1d7933abb56a56b612556a414a120d89c9cc1..7356d3c53116fcc97a2ca25bca014b8e9afeff43 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 
 // Test ARM64 SIMD fused multiply add intrinsics
 
index e36cd823b3077ebfd35945448eb11e4c367ce55e..d9b85b2c2bcb890c94458b1a5362f2f06aa6ae4a 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 // Test ARM64 SIMD load and stores of an N-element structure  intrinsics
 
 #include <arm_neon.h>
index d53c0bb63df1ee34ee795a8fa3835acaed193b95..631df08a314f09e40fe2191e28fd40f5b085e80c 100644 (file)
@@ -1,5 +1,5 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - %s | FileCheck -check-prefix=CHECK-CODEGEN %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - %s | FileCheck -check-prefix=CHECK-CODEGEN %s
 // REQUIRES: arm64-registered-target
 // Test ARM64 SIMD max/min intrinsics
 
index 83fb3e7e79a45b0a5b0f590d601ffa9768e584b5..94d248efd67c975bd67d82f699c7f6fd9d251b86 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 // Test ARM64 SIMD add intrinsics
 
 #include <arm_neon.h>
index 0acbe450665b57bba834b755837519d213864cfd..bfe07e817e73bddd6fe2a247332ea6ebbafd1156 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 // Test ARM64 vector compare absolute intrinsics
 
 #include <arm_neon.h>
index 7283909f4912d4e5e4db92d35aaae6185a26dad9..990d4f658cbc6acf5f63fbce20058a1e028ec84e 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 
 // Test ARM64 SIMD copy vector element to vector element: vcopyq_lane*
 
index ae1e431c6b8e049ce5edd2be941973d27c227c6f..b124eaffebd8e4d0e0a288ee2a31444b944b3665 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 // Test ARM64 SIMD vcreate intrinsics
 
 /*#include <arm_neon.h>*/
index a98a175a820e8f7e1cf7715f25759259a97267eb..539c7d826cde33a2217a0c76d002a5b92ce44f11 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 
 #include <arm_neon.h>
 
index 8476af25382807f13ace9c8ae820a23979b47c5c..8419828b38d2c902177975d0dc1b33761d47f639 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 // Test ARM64 SIMD duplicate lane and n intrinsics
 
 #include <arm_neon.h>
index 5e8834f6c47dff4e475847919151283c771bd6e6..73e1cc4bf9e285e9d178fc24c4a4c45dfd222787 100644 (file)
@@ -1,5 +1,5 @@
-// RUN: %clang_cc1 -O3 -triple arm64-apple-ios7 -ffreestanding -S -o - %s | FileCheck %s
-// RUN: %clang_cc1 -O3 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | \
+// RUN: %clang_cc1 -O3 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - %s | FileCheck %s
+// RUN: %clang_cc1 -O3 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | \
 // RUN:   FileCheck -check-prefix=CHECK-IR %s
 // REQUIRES: arm64-registered-target
 
index 779c6ef71115f649a6ad551206a84b4864627051..08fa6f7e7b32575624890756745324647e884872 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O3 -triple arm64-apple-ios7 -S -ffreestanding %s -o - -target-cpu cyclone | FileCheck %s
+// RUN: %clang_cc1 -O3 -triple arm64-apple-ios7 -target-feature +neon -S -ffreestanding %s -o - -target-cpu cyclone | FileCheck %s
 // REQUIRES: arm64-registered-target
 // test code generation for <rdar://problem/11487757>
 #include <arm_neon.h>
index 50ff48c3a12912013d5ef878af285f6f6ed5a94d..6c3fe73399a1a61b4923b78e63dcc488251c2f3a 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 
 // Test ARM64 extract intrinsics
 // can use as back end test by adding a run line with
index e57161b894b22ec24bfdde3261993ee0bf04a397..bfa568779638e27ecb20374357608ae7470d9764 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 // Test ARM64 SIMD fused multiply add intrinsics
 
 #include <arm_neon.h>
index 44c7da504c9f45f1973c09866472134fd058340a..62b68ef343c8251d3902fd219a0d2c5514dd1c91 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 // Test ARM64 SIMD vget intrinsics
 
 #include <arm_neon.h>
index 96b9e1f539ee8f02396f17d78054eca8286f702a..74ea0eb02b384e862bea1bc5cfc54201747f98fb 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 // Test ARM64 SIMD negate and saturating negate intrinsics
 
 #include <arm_neon.h>
index e8c0605a756621fc9b82a267e5741487745683ad..38acc0c3b3a6130e0ef1eab91145dc9addd0ed3c 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O3 -triple arm64-apple-ios7 -ffreestanding -S -o - %s | FileCheck %s
+// RUN: %clang_cc1 -O3 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - %s | FileCheck %s
 // REQUIRES: arm64-registered-target
 /// Test vqmov[u]n_high_<su>{16,32,64) ARM64 intrinsics
 
index 66f06ceb53c1d01c605b066745c8f5e3871734e9..1febaa18527260a475160f5c848644fd856efac0 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O3 -triple arm64-apple-ios7 -ffreestanding -S -o - %s | FileCheck %s
+// RUN: %clang_cc1 -O3 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - %s | FileCheck %s
 // REQUIRES: arm64-registered-target
 /// Test vrecpss_f32, vrecpsd_f64 ARM64 intrinsics
 
index 6997eb87cf5f36ce8b175b6ae2da737a30490ef5..49f21514e82023c8245e61ecabecdcf452c439fb 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 // Test ARM64 SIMD set lane intrinsics INCOMPLETE
 
 #include <arm_neon.h>
index cac4d12bd91a2093e5d53a3a420cb689e78569f6..48255c27a6d87e75cb525eefd8595399d043a115 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -triple arm64-apple-ios7.0 -ffreestanding -emit-llvm -o - -O1 %s | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-apple-ios7.0 -target-feature +neon -ffreestanding -emit-llvm -o - -O1 %s | FileCheck %s
 #include <arm_neon.h>
 
 int8x8_t test_vqshl_n_s8(int8x8_t in) {
index bce14461d0bd9ddbc86abd1fc85e749fcb8e07a5..02432577d3487523688f477342e322020203e474 100644 (file)
@@ -1,5 +1,5 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - %s | \
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - %s | \
 // RUN:   FileCheck -check-prefix=CHECK_CODEGEN %s
 // REQUIRES: arm64-registered-target
 // Test
index f5613398b3b2729baf9a9e83b12a41fd7441fc9b..2547df5c9a4fd4b4a083731d3d6fcb2d3f34722a 100644 (file)
@@ -1,5 +1,5 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - %s | \
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - %s | \
 // RUN:   FileCheck -check-prefix=CHECK_CODEGEN %s
 // REQUIRES: arm64-registered-target
 
index c30b3947c2618b57e060d8ee281dfb50c30c0bca..f40c62c4a3039ae169bb54230800c235aa4a0985 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
+// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
 // Test ARM64 SIMD comparison test intrinsics
 
 #include <arm_neon.h>
index a9d0b8d83c1e36e23e1e91e85f6de3f17966a460..6faf6226efd2e306ce702a366b0533a2f28a87af 100644 (file)
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -triple armv7-apple-ios -target-feature +neon  %s -emit-llvm -o - | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-apple-ios %s -emit-llvm -o - | FileCheck %s
-// RUN: %clang_cc1 -triple arm64-linux-gnu %s -emit-llvm -o - | FileCheck %s --check-prefix=CHECK-AARCH64
+// RUN: %clang_cc1 -triple arm64-apple-ios -target-feature +neon %s -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 -triple arm64-linux-gnu -target-feature +neon %s -emit-llvm -o - | FileCheck %s --check-prefix=CHECK-AARCH64
 
 typedef float float32_t;
 typedef double float64_t;
index 9851a06089d58b4e268acbea19fec1f42820ae97..e2ab430a969ed5b31a4faf7d6da104950398274e 100644 (file)
@@ -1,5 +1,5 @@
-// RUN: %clang_cc1 -triple arm64-apple-ios -ffreestanding -S -emit-llvm -o - %s | FileCheck --check-prefix=CHECK-UNSIGNED-POLY %s
-// RUN: %clang_cc1 -triple arm64-linux-gnu -ffreestanding -S -emit-llvm -o - %s | FileCheck --check-prefix=CHECK-UNSIGNED-POLY %s
+// RUN: %clang_cc1 -triple arm64-apple-ios -target-feature +neon -ffreestanding -S -emit-llvm -o - %s | FileCheck --check-prefix=CHECK-UNSIGNED-POLY %s
+// RUN: %clang_cc1 -triple arm64-linux-gnu -target-feature +neon -ffreestanding -S -emit-llvm -o - %s | FileCheck --check-prefix=CHECK-UNSIGNED-POLY %s
 // RUN: %clang_cc1 -triple armv7-apple-ios -ffreestanding -target-cpu cortex-a8 -S -emit-llvm -o - %s | FileCheck --check-prefix=CHECK-SIGNED-POLY %s
 
 #include <arm_neon.h>
index 4fc4bfa47d6bf723cb43e48d0c02bb2781871e31..8f57d298c3b27af2d6bb0c99ad3a227432da9a8d 100644 (file)
 // Other definitions vary from platform to platform
 
 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
-// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s
 //
 // AARCH64:#define _LP64 1
 // AARCH64-NOT:#define __AARCH64EB__ 1
 // AARCH64:#define __aarch64__ 1
 //
 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64_be-none-none < /dev/null | FileCheck -check-prefix AARCH64-BE %s
-// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm64_be-none-none < /dev/null | FileCheck -check-prefix AARCH64-BE %s
 //
 // AARCH64-BE:#define _LP64 1
 // AARCH64-BE:#define __AARCH64EB__ 1
index 5ee653ddd27c60402b5117513600c541317a1824..a36df030fbc9976c58243552bfa4a2a2593143a4 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -triple arm64-apple-darwin -fsyntax-only -ffreestanding -verify %s
+// RUN: %clang_cc1 -triple arm64-apple-darwin -target-feature +neon -fsyntax-only -ffreestanding -verify %s
 
 #include <arm_neon.h>