================ @@ -155,3 +183,214 @@ define <1 x float> @atomic_vec1_float(ptr %x) { %ret = load atomic <1 x float>, ptr %x acquire, align 4 ret <1 x float> %ret } + +define <1 x i64> @atomic_vec1_i64(ptr %x) nounwind { +; CHECK3-LABEL: atomic_vec1_i64: +; CHECK3: ## %bb.0: +; CHECK3-NEXT: pushq %rax +; CHECK3-NEXT: movq %rdi, %rsi +; CHECK3-NEXT: movq %rsp, %rdx +; CHECK3-NEXT: movl $8, %edi +; CHECK3-NEXT: movl $2, %ecx +; CHECK3-NEXT: callq ___atomic_load +; CHECK3-NEXT: movq (%rsp), %rax +; CHECK3-NEXT: popq %rcx +; CHECK3-NEXT: retq +; +; CHECK0-LABEL: atomic_vec1_i64: +; CHECK0: ## %bb.0: +; CHECK0-NEXT: pushq %rax +; CHECK0-NEXT: movq %rdi, %rsi +; CHECK0-NEXT: movl $8, %edi +; CHECK0-NEXT: movq %rsp, %rdx +; CHECK0-NEXT: movl $2, %ecx +; CHECK0-NEXT: callq ___atomic_load +; CHECK0-NEXT: movq (%rsp), %rax +; CHECK0-NEXT: popq %rcx +; CHECK0-NEXT: retq + %ret = load atomic <1 x i64>, ptr %x acquire, align 4 + ret <1 x i64> %ret +} + +define <1 x double> @atomic_vec1_double(ptr %x) nounwind { +; CHECK3-LABEL: atomic_vec1_double: +; CHECK3: ## %bb.0: +; CHECK3-NEXT: pushq %rax +; CHECK3-NEXT: movq %rdi, %rsi +; CHECK3-NEXT: movq %rsp, %rdx +; CHECK3-NEXT: movl $8, %edi +; CHECK3-NEXT: movl $2, %ecx +; CHECK3-NEXT: callq ___atomic_load +; CHECK3-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero +; CHECK3-NEXT: popq %rax +; CHECK3-NEXT: retq +; +; CHECK0-LABEL: atomic_vec1_double: +; CHECK0: ## %bb.0: +; CHECK0-NEXT: pushq %rax +; CHECK0-NEXT: movq %rdi, %rsi +; CHECK0-NEXT: movl $8, %edi +; CHECK0-NEXT: movq %rsp, %rdx +; CHECK0-NEXT: movl $2, %ecx +; CHECK0-NEXT: callq ___atomic_load +; CHECK0-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero +; CHECK0-NEXT: popq %rax +; CHECK0-NEXT: retq + %ret = load atomic <1 x double>, ptr %x acquire, align 4 ---------------- arsenm wrote:
these are all under aligned https://github.com/llvm/llvm-project/pull/120387 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits