Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/AArch64/arm64-atomic-128.ll
Show All 33 Lines | |||||
; OUTLINE-NEXT: mov x1, x3 | ; OUTLINE-NEXT: mov x1, x3 | ||||
; OUTLINE-NEXT: mov x8, x0 | ; OUTLINE-NEXT: mov x8, x0 | ||||
; OUTLINE-NEXT: mov x0, x2 | ; OUTLINE-NEXT: mov x0, x2 | ||||
; OUTLINE-NEXT: mov x2, x4 | ; OUTLINE-NEXT: mov x2, x4 | ||||
; OUTLINE-NEXT: mov x3, x5 | ; OUTLINE-NEXT: mov x3, x5 | ||||
; OUTLINE-NEXT: mov x4, x8 | ; OUTLINE-NEXT: mov x4, x8 | ||||
; OUTLINE-NEXT: bl __aarch64_cas16_acq | ; OUTLINE-NEXT: bl __aarch64_cas16_acq | ||||
; OUTLINE-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload | ; OUTLINE-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload | ||||
; OUTLINE-NEXT: .cfi_adjust_cfa_offset -16 | |||||
; OUTLINE-NEXT: ret | ; OUTLINE-NEXT: ret | ||||
; | ; | ||||
; LSE-LABEL: val_compare_and_swap: | ; LSE-LABEL: val_compare_and_swap: | ||||
; LSE: // %bb.0: | ; LSE: // %bb.0: | ||||
; LSE-NEXT: // kill: def $x5 killed $x5 killed $x4_x5 def $x4_x5 | ; LSE-NEXT: // kill: def $x5 killed $x5 killed $x4_x5 def $x4_x5 | ||||
; LSE-NEXT: // kill: def $x3 killed $x3 killed $x2_x3 def $x2_x3 | ; LSE-NEXT: // kill: def $x3 killed $x3 killed $x2_x3 def $x2_x3 | ||||
; LSE-NEXT: // kill: def $x4 killed $x4 killed $x4_x5 def $x4_x5 | ; LSE-NEXT: // kill: def $x4 killed $x4 killed $x4_x5 def $x4_x5 | ||||
; LSE-NEXT: // kill: def $x2 killed $x2 killed $x2_x3 def $x2_x3 | ; LSE-NEXT: // kill: def $x2 killed $x2 killed $x2_x3 def $x2_x3 | ||||
Show All 35 Lines | |||||
; OUTLINE-NEXT: mov x1, x3 | ; OUTLINE-NEXT: mov x1, x3 | ||||
; OUTLINE-NEXT: mov x8, x0 | ; OUTLINE-NEXT: mov x8, x0 | ||||
; OUTLINE-NEXT: mov x0, x2 | ; OUTLINE-NEXT: mov x0, x2 | ||||
; OUTLINE-NEXT: mov x2, x4 | ; OUTLINE-NEXT: mov x2, x4 | ||||
; OUTLINE-NEXT: mov x3, x5 | ; OUTLINE-NEXT: mov x3, x5 | ||||
; OUTLINE-NEXT: mov x4, x8 | ; OUTLINE-NEXT: mov x4, x8 | ||||
; OUTLINE-NEXT: bl __aarch64_cas16_acq_rel | ; OUTLINE-NEXT: bl __aarch64_cas16_acq_rel | ||||
; OUTLINE-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload | ; OUTLINE-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload | ||||
; OUTLINE-NEXT: .cfi_adjust_cfa_offset -16 | |||||
; OUTLINE-NEXT: ret | ; OUTLINE-NEXT: ret | ||||
; | ; | ||||
; LSE-LABEL: val_compare_and_swap_seqcst: | ; LSE-LABEL: val_compare_and_swap_seqcst: | ||||
; LSE: // %bb.0: | ; LSE: // %bb.0: | ||||
; LSE-NEXT: // kill: def $x5 killed $x5 killed $x4_x5 def $x4_x5 | ; LSE-NEXT: // kill: def $x5 killed $x5 killed $x4_x5 def $x4_x5 | ||||
; LSE-NEXT: // kill: def $x3 killed $x3 killed $x2_x3 def $x2_x3 | ; LSE-NEXT: // kill: def $x3 killed $x3 killed $x2_x3 def $x2_x3 | ||||
; LSE-NEXT: // kill: def $x4 killed $x4 killed $x4_x5 def $x4_x5 | ; LSE-NEXT: // kill: def $x4 killed $x4 killed $x4_x5 def $x4_x5 | ||||
; LSE-NEXT: // kill: def $x2 killed $x2 killed $x2_x3 def $x2_x3 | ; LSE-NEXT: // kill: def $x2 killed $x2 killed $x2_x3 def $x2_x3 | ||||
Show All 35 Lines | |||||
; OUTLINE-NEXT: mov x1, x3 | ; OUTLINE-NEXT: mov x1, x3 | ||||
; OUTLINE-NEXT: mov x8, x0 | ; OUTLINE-NEXT: mov x8, x0 | ||||
; OUTLINE-NEXT: mov x0, x2 | ; OUTLINE-NEXT: mov x0, x2 | ||||
; OUTLINE-NEXT: mov x2, x4 | ; OUTLINE-NEXT: mov x2, x4 | ||||
; OUTLINE-NEXT: mov x3, x5 | ; OUTLINE-NEXT: mov x3, x5 | ||||
; OUTLINE-NEXT: mov x4, x8 | ; OUTLINE-NEXT: mov x4, x8 | ||||
; OUTLINE-NEXT: bl __aarch64_cas16_rel | ; OUTLINE-NEXT: bl __aarch64_cas16_rel | ||||
; OUTLINE-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload | ; OUTLINE-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload | ||||
; OUTLINE-NEXT: .cfi_adjust_cfa_offset -16 | |||||
; OUTLINE-NEXT: ret | ; OUTLINE-NEXT: ret | ||||
; | ; | ||||
; LSE-LABEL: val_compare_and_swap_release: | ; LSE-LABEL: val_compare_and_swap_release: | ||||
; LSE: // %bb.0: | ; LSE: // %bb.0: | ||||
; LSE-NEXT: // kill: def $x5 killed $x5 killed $x4_x5 def $x4_x5 | ; LSE-NEXT: // kill: def $x5 killed $x5 killed $x4_x5 def $x4_x5 | ||||
; LSE-NEXT: // kill: def $x3 killed $x3 killed $x2_x3 def $x2_x3 | ; LSE-NEXT: // kill: def $x3 killed $x3 killed $x2_x3 def $x2_x3 | ||||
; LSE-NEXT: // kill: def $x4 killed $x4 killed $x4_x5 def $x4_x5 | ; LSE-NEXT: // kill: def $x4 killed $x4 killed $x4_x5 def $x4_x5 | ||||
; LSE-NEXT: // kill: def $x2 killed $x2 killed $x2_x3 def $x2_x3 | ; LSE-NEXT: // kill: def $x2 killed $x2 killed $x2_x3 def $x2_x3 | ||||
Show All 35 Lines | |||||
; OUTLINE-NEXT: mov x1, x3 | ; OUTLINE-NEXT: mov x1, x3 | ||||
; OUTLINE-NEXT: mov x8, x0 | ; OUTLINE-NEXT: mov x8, x0 | ||||
; OUTLINE-NEXT: mov x0, x2 | ; OUTLINE-NEXT: mov x0, x2 | ||||
; OUTLINE-NEXT: mov x2, x4 | ; OUTLINE-NEXT: mov x2, x4 | ||||
; OUTLINE-NEXT: mov x3, x5 | ; OUTLINE-NEXT: mov x3, x5 | ||||
; OUTLINE-NEXT: mov x4, x8 | ; OUTLINE-NEXT: mov x4, x8 | ||||
; OUTLINE-NEXT: bl __aarch64_cas16_relax | ; OUTLINE-NEXT: bl __aarch64_cas16_relax | ||||
; OUTLINE-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload | ; OUTLINE-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload | ||||
; OUTLINE-NEXT: .cfi_adjust_cfa_offset -16 | |||||
; OUTLINE-NEXT: ret | ; OUTLINE-NEXT: ret | ||||
; | ; | ||||
; LSE-LABEL: val_compare_and_swap_monotonic: | ; LSE-LABEL: val_compare_and_swap_monotonic: | ||||
; LSE: // %bb.0: | ; LSE: // %bb.0: | ||||
; LSE-NEXT: // kill: def $x5 killed $x5 killed $x4_x5 def $x4_x5 | ; LSE-NEXT: // kill: def $x5 killed $x5 killed $x4_x5 def $x4_x5 | ||||
; LSE-NEXT: // kill: def $x3 killed $x3 killed $x2_x3 def $x2_x3 | ; LSE-NEXT: // kill: def $x3 killed $x3 killed $x2_x3 def $x2_x3 | ||||
; LSE-NEXT: // kill: def $x4 killed $x4 killed $x4_x5 def $x4_x5 | ; LSE-NEXT: // kill: def $x4 killed $x4 killed $x4_x5 def $x4_x5 | ||||
; LSE-NEXT: // kill: def $x2 killed $x2 killed $x2_x3 def $x2_x3 | ; LSE-NEXT: // kill: def $x2 killed $x2 killed $x2_x3 def $x2_x3 | ||||
▲ Show 20 Lines • Show All 274 Lines • Show Last 20 Lines |