[WebAssembly] Use the default alignment for SIMD types.
authorDan Gohman <dan433584@gmail.com>
Wed, 19 Aug 2015 20:30:20 +0000 (20:30 +0000)
committerDan Gohman <dan433584@gmail.com>
Wed, 19 Aug 2015 20:30:20 +0000 (20:30 +0000)
Previously WebAssembly's datalayout string had -v128:8:128. This had been an
attempt to declare a certain level of support for unaligned SIMD accesses.
However, clang makes its own determinations for SIMD alignment that are
independent of the datalayout string, so this wasn't actually meaningful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245494 91177308-0d34-0410-b5e6-96231b3b80d8

12 files changed:
lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
test/CodeGen/WebAssembly/comparisons_f32.ll
test/CodeGen/WebAssembly/comparisons_f64.ll
test/CodeGen/WebAssembly/comparisons_i32.ll
test/CodeGen/WebAssembly/comparisons_i64.ll
test/CodeGen/WebAssembly/fp32.ll
test/CodeGen/WebAssembly/fp64.ll
test/CodeGen/WebAssembly/immediates.ll
test/CodeGen/WebAssembly/integer32.ll
test/CodeGen/WebAssembly/integer64.ll
test/CodeGen/WebAssembly/return-void.ll
test/CodeGen/WebAssembly/unused-argument.ll

index 0f3ac94994b28de40018702bb9bab91274e29d03..25fe846fc7f9dec7f0edaf0af643c8ccf8364af8 100644 (file)
@@ -46,8 +46,8 @@ WebAssemblyTargetMachine::WebAssemblyTargetMachine(
     const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM,
     CodeGenOpt::Level OL)
     : LLVMTargetMachine(T, TT.isArch64Bit()
     const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM,
     CodeGenOpt::Level OL)
     : LLVMTargetMachine(T, TT.isArch64Bit()
-                               ? "e-p:64:64-i64:64-v128:8:128-n32:64-S128"
-                               : "e-p:32:32-i64:64-v128:8:128-n32:64-S128",
+                               ? "e-p:64:64-i64:64-n32:64-S128"
+                               : "e-p:32:32-i64:64-n32:64-S128",
                         TT, CPU, FS, Options, RM, CM, OL),
       TLOF(make_unique<WebAssemblyTargetObjectFile>()) {
   initAsmInfo();
                         TT, CPU, FS, Options, RM, CM, OL),
       TLOF(make_unique<WebAssemblyTargetObjectFile>()) {
   initAsmInfo();
index 4edb7de4cd85034c844986949e83413ebdadcc57..22497ce8eea0a183466fe17942b8a2b43e87668b 100644 (file)
@@ -3,7 +3,7 @@
 ; Test that basic 32-bit floating-point comparison operations assemble as
 ; expected.
 
 ; Test that basic 32-bit floating-point comparison operations assemble as
 ; expected.
 
-target datalayout = "e-p:32:32-i64:64-v128:8:128-n32:64-S128"
+target datalayout = "e-p:32:32-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: ord_f32:
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: ord_f32:
index 11c1fc582ee298ae235a124c4a26c52d3f3e9b43..ae56206dbb00fb16d0fd6404639554e1d0c5415b 100644 (file)
@@ -3,7 +3,7 @@
 ; Test that basic 64-bit floating-point comparison operations assemble as
 ; expected.
 
 ; Test that basic 64-bit floating-point comparison operations assemble as
 ; expected.
 
-target datalayout = "e-p:32:32-i64:64-v128:8:128-n32:64-S128"
+target datalayout = "e-p:32:32-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: ord_f64:
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: ord_f64:
index f45c6ec0a21a0ecbdcfa5e4bce2be1094c407e95..dbf5344266714288114f7d3941f5aae4a415e9f2 100644 (file)
@@ -2,7 +2,7 @@
 
 ; Test that basic 32-bit integer comparison operations assemble as expected.
 
 
 ; Test that basic 32-bit integer comparison operations assemble as expected.
 
-target datalayout = "e-p:32:32-i64:64-v128:8:128-n32:64-S128"
+target datalayout = "e-p:32:32-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: eq_i32:
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: eq_i32:
index f0ff479db58b8f969039bee6ec4e1d33cd2d4d67..c1d258664a4b3284e3ba21ba535f2c3a1da88fde 100644 (file)
@@ -2,7 +2,7 @@
 
 ; Test that basic 64-bit integer comparison operations assemble as expected.
 
 
 ; Test that basic 64-bit integer comparison operations assemble as expected.
 
-target datalayout = "e-p:32:32-i64:64-v128:8:128-n32:64-S128"
+target datalayout = "e-p:32:32-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: eq_i64:
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: eq_i64:
index f23dfd989c77dfb8a9f8fc405dc5b84c3b557674..74cf2de9fe1435b81ea4c3a6ba6cafeda2c284db 100644 (file)
@@ -2,7 +2,7 @@
 
 ; Test that basic 32-bit floating-point operations assemble as expected.
 
 
 ; Test that basic 32-bit floating-point operations assemble as expected.
 
-target datalayout = "e-p:32:32-i64:64-v128:8:128-n32:64-S128"
+target datalayout = "e-p:32:32-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 declare float @llvm.fabs.f32(float)
 target triple = "wasm32-unknown-unknown"
 
 declare float @llvm.fabs.f32(float)
index 7a7365964f502cf939e27c12aaa06974dd61fac6..7aa666e5948bd9175b9c8a2c86f1aef13133296f 100644 (file)
@@ -2,7 +2,7 @@
 
 ; Test that basic 64-bit floating-point operations assemble as expected.
 
 
 ; Test that basic 64-bit floating-point operations assemble as expected.
 
-target datalayout = "e-p:32:32-i64:64-v128:8:128-n32:64-S128"
+target datalayout = "e-p:32:32-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 declare double @llvm.fabs.f64(double)
 target triple = "wasm32-unknown-unknown"
 
 declare double @llvm.fabs.f64(double)
index 1059ffcea30bc4c3574e143b0176090a58833ebd..35c26450ca92687872a5dc86843b2bedae59f858 100644 (file)
@@ -2,7 +2,7 @@
 
 ; Test that basic immediates assemble as expected.
 
 
 ; Test that basic immediates assemble as expected.
 
-target datalayout = "e-p:32:32-i64:64-v128:8:128-n32:64-S128"
+target datalayout = "e-p:32:32-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: zero_i32:
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: zero_i32:
index 6b0c36b32d04d4d2a8e500ecef144cc0cd3b3a6c..e987f6eaa556c64f4a35ecba421dab740e0e0453 100644 (file)
@@ -2,7 +2,7 @@
 
 ; Test that basic 32-bit integer operations assemble as expected.
 
 
 ; Test that basic 32-bit integer operations assemble as expected.
 
-target datalayout = "e-p:32:32-i64:64-v128:8:128-n32:64-S128"
+target datalayout = "e-p:32:32-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 declare i32 @llvm.ctlz.i32(i32, i1)
 target triple = "wasm32-unknown-unknown"
 
 declare i32 @llvm.ctlz.i32(i32, i1)
index ec7750915089ea50cf07e8cbfcc1f6a69b2499ab..ba483552939903912ce24862bda3b3f3834ee831 100644 (file)
@@ -2,7 +2,7 @@
 
 ; Test that basic 64-bit integer operations assemble as expected.
 
 
 ; Test that basic 64-bit integer operations assemble as expected.
 
-target datalayout = "e-p:32:32-i64:64-v128:8:128-n32:64-S128"
+target datalayout = "e-p:32:32-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 declare i64 @llvm.ctlz.i64(i64, i1)
 target triple = "wasm32-unknown-unknown"
 
 declare i64 @llvm.ctlz.i64(i64, i1)
index 7f873fdda2f7c5db3c3bd851f119c1807ff0ae35..2a4eab7619c59a8c55d4b86e2b3d2f67dd30d69b 100644 (file)
@@ -1,6 +1,6 @@
 ; RUN: llc < %s -asm-verbose=false | FileCheck %s
 
 ; RUN: llc < %s -asm-verbose=false | FileCheck %s
 
-target datalayout = "e-p:32:32-i64:64-v128:8:128-n32:64-S128"
+target datalayout = "e-p:32:32-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: return_void:
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: return_void:
index 51b9351144e36f265ded04576b61494e2370d9f5..880411f744f961d2b0e8f8a829243d2558e4693a 100644 (file)
@@ -2,7 +2,7 @@
 
 ; Make sure that argument offsets are correct even if some arguments are unused.
 
 
 ; Make sure that argument offsets are correct even if some arguments are unused.
 
-target datalayout = "e-p:32:32-i64:64-v128:8:128-n32:64-S128"
+target datalayout = "e-p:32:32-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: unused_first:
 target triple = "wasm32-unknown-unknown"
 
 ; CHECK-LABEL: unused_first: