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:
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();
; 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:
; 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:
; 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:
; 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:
; 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)
; 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)
; 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:
; 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)
; 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)
; 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:
; 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: