Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 0 additions & 112 deletions llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-lse2.ll
Original file line number Diff line number Diff line change
Expand Up @@ -567,118 +567,6 @@ define dso_local i128 @load_atomic_i128_unaligned_seq_cst_const(ptr readonly %pt
ret i128 %r
}

define dso_local half @load_atomic_f16_aligned_unordered(ptr %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_unordered:
; CHECK: ldrh w8, [x0]
%r = load atomic half, ptr %ptr unordered, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_unordered_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_unordered_const:
; CHECK: ldrh w8, [x0]
%r = load atomic half, ptr %ptr unordered, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_monotonic(ptr %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_monotonic:
; CHECK: ldrh w8, [x0]
%r = load atomic half, ptr %ptr monotonic, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_monotonic_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_monotonic_const:
; CHECK: ldrh w8, [x0]
%r = load atomic half, ptr %ptr monotonic, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_acquire(ptr %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_acquire:
; CHECK: ldarh w8, [x0]
%r = load atomic half, ptr %ptr acquire, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_acquire_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_acquire_const:
; CHECK: ldarh w8, [x0]
%r = load atomic half, ptr %ptr acquire, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_seq_cst(ptr %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_seq_cst:
; CHECK: ldarh w8, [x0]
%r = load atomic half, ptr %ptr seq_cst, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_seq_cst_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_seq_cst_const:
; CHECK: ldarh w8, [x0]
%r = load atomic half, ptr %ptr seq_cst, align 2
ret half %r
}

define dso_local bfloat @load_atomic_bf16_aligned_unordered(ptr %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_unordered:
; CHECK: ldrh w8, [x0]
%r = load atomic bfloat, ptr %ptr unordered, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_unordered_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_unordered_const:
; CHECK: ldrh w8, [x0]
%r = load atomic bfloat, ptr %ptr unordered, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_monotonic(ptr %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_monotonic:
; CHECK: ldrh w8, [x0]
%r = load atomic bfloat, ptr %ptr monotonic, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_monotonic_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_monotonic_const:
; CHECK: ldrh w8, [x0]
%r = load atomic bfloat, ptr %ptr monotonic, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_acquire(ptr %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_acquire:
; CHECK: ldarh w8, [x0]
%r = load atomic bfloat, ptr %ptr acquire, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_acquire_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_acquire_const:
; CHECK: ldarh w8, [x0]
%r = load atomic bfloat, ptr %ptr acquire, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_seq_cst(ptr %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_seq_cst:
; CHECK: ldarh w8, [x0]
%r = load atomic bfloat, ptr %ptr seq_cst, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_seq_cst_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_seq_cst_const:
; CHECK: ldarh w8, [x0]
%r = load atomic bfloat, ptr %ptr seq_cst, align 2
ret bfloat %r
}

;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
; -O0: {{.*}}
; -O1: {{.*}}
113 changes: 113 additions & 0 deletions llvm/test/CodeGen/AArch64/v8.4-atomic.ll
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+lse2 %s -o - | FileCheck %s

define dso_local half @load_atomic_f16_aligned_unordered(ptr %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_unordered:
; CHECK: ldrh w8, [x0]
%r = load atomic half, ptr %ptr unordered, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_unordered_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_unordered_const:
; CHECK: ldrh w8, [x0]
%r = load atomic half, ptr %ptr unordered, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_monotonic(ptr %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_monotonic:
; CHECK: ldrh w8, [x0]
%r = load atomic half, ptr %ptr monotonic, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_monotonic_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_monotonic_const:
; CHECK: ldrh w8, [x0]
%r = load atomic half, ptr %ptr monotonic, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_acquire(ptr %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_acquire:
; CHECK: ldarh w8, [x0]
%r = load atomic half, ptr %ptr acquire, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_acquire_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_acquire_const:
; CHECK: ldarh w8, [x0]
%r = load atomic half, ptr %ptr acquire, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_seq_cst(ptr %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_seq_cst:
; CHECK: ldarh w8, [x0]
%r = load atomic half, ptr %ptr seq_cst, align 2
ret half %r
}

define dso_local half @load_atomic_f16_aligned_seq_cst_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_f16_aligned_seq_cst_const:
; CHECK: ldarh w8, [x0]
%r = load atomic half, ptr %ptr seq_cst, align 2
ret half %r
}

define dso_local bfloat @load_atomic_bf16_aligned_unordered(ptr %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_unordered:
; CHECK: ldrh w8, [x0]
%r = load atomic bfloat, ptr %ptr unordered, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_unordered_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_unordered_const:
; CHECK: ldrh w8, [x0]
%r = load atomic bfloat, ptr %ptr unordered, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_monotonic(ptr %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_monotonic:
; CHECK: ldrh w8, [x0]
%r = load atomic bfloat, ptr %ptr monotonic, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_monotonic_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_monotonic_const:
; CHECK: ldrh w8, [x0]
%r = load atomic bfloat, ptr %ptr monotonic, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_acquire(ptr %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_acquire:
; CHECK: ldarh w8, [x0]
%r = load atomic bfloat, ptr %ptr acquire, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_acquire_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_acquire_const:
; CHECK: ldarh w8, [x0]
%r = load atomic bfloat, ptr %ptr acquire, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_seq_cst(ptr %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_seq_cst:
; CHECK: ldarh w8, [x0]
%r = load atomic bfloat, ptr %ptr seq_cst, align 2
ret bfloat %r
}

define dso_local bfloat @load_atomic_bf16_aligned_seq_cst_const(ptr readonly %ptr) {
; CHECK-LABEL: load_atomic_bf16_aligned_seq_cst_const:
; CHECK: ldarh w8, [x0]
%r = load atomic bfloat, ptr %ptr seq_cst, align 2
ret bfloat %r
}