; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6 ; RUN: llc < %s -mtriple=x86_64-windows-gnu -verify-machineinstrs -mcpu=corei7 -mattr=-cx16 | FileCheck %s define void @call_load(ptr %dst, ptr %src) nounwind { ; CHECK-LABEL: call_load: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: pushq %rsi ; CHECK-NEXT: subq $32, %rsp ; CHECK-NEXT: movq %rcx, %rsi ; CHECK-NEXT: movq %rdx, %rcx ; CHECK-NEXT: movl $5, %edx ; CHECK-NEXT: callq __atomic_load_16 ; CHECK-NEXT: movaps %xmm0, (%rsi) ; CHECK-NEXT: addq $32, %rsp ; CHECK-NEXT: popq %rsi ; CHECK-NEXT: retq entry: %0 = load atomic i128, ptr %src seq_cst, align 16 store i128 %0, ptr %dst, align 16 ret void } define void @call_store(ptr %dst, ptr %src) nounwind { ; CHECK-LABEL: call_store: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: subq $56, %rsp ; CHECK-NEXT: movaps (%rdx), %xmm0 ; CHECK-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp) ; CHECK-NEXT: leaq {{[0-9]+}}(%rsp), %rdx ; CHECK-NEXT: movl $5, %r8d ; CHECK-NEXT: callq __atomic_store_16 ; CHECK-NEXT: addq $56, %rsp ; CHECK-NEXT: retq entry: %0 = load i128, ptr %src, align 16 store atomic i128 %0, ptr %dst seq_cst, align 16 ret void }