CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
74 lines
3.3 KiB
LLVM
74 lines
3.3 KiB
LLVM
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --no_x86_scrub_sp --version 4
|
|
; RUN: llc -O0 -mtriple=x86_64 -verify-machineinstrs < %s | FileCheck %s --check-prefix=CHECK
|
|
%large = type [4294967295 x i8]
|
|
|
|
define void @foo() unnamed_addr #0 {
|
|
; CHECK-LABEL: foo:
|
|
; CHECK: # %bb.0:
|
|
; CHECK-NEXT: movabsq $8589934472, %rax # imm = 0x1FFFFFF88
|
|
; CHECK-NEXT: subq %rax, %rsp
|
|
; CHECK-NEXT: .cfi_def_cfa_offset 8589934480
|
|
; CHECK-NEXT: movabsq $4294967177, %rax # imm = 0xFFFFFF89
|
|
; CHECK-NEXT: movb $42, (%rsp,%rax)
|
|
; CHECK-NEXT: movb $43, -118(%rsp)
|
|
; CHECK-NEXT: movabsq $8589934472, %rax # imm = 0x1FFFFFF88
|
|
; CHECK-NEXT: addq %rax, %rsp
|
|
; CHECK-NEXT: .cfi_def_cfa_offset 8
|
|
; CHECK-NEXT: retq
|
|
%large1 = alloca %large, align 1
|
|
%large2 = alloca %large, align 1
|
|
%ptrLarge1 = getelementptr inbounds %large, ptr %large1, i64 0, i64 0
|
|
store i8 42, ptr %ptrLarge1, align 1
|
|
%ptrLarge2 = getelementptr inbounds %large, ptr %large2, i64 0, i64 0
|
|
store i8 43, ptr %ptrLarge2, align 1
|
|
ret void
|
|
}
|
|
|
|
declare ptr @baz(ptr, ptr, ptr, ptr)
|
|
|
|
define ptr @scavenge_spill() unnamed_addr #0 {
|
|
; CHECK-LABEL: scavenge_spill:
|
|
; CHECK: # %bb.0:
|
|
; CHECK-NEXT: movabsq $25769803816, %rax # imm = 0x600000028
|
|
; CHECK-NEXT: subq %rax, %rsp
|
|
; CHECK-NEXT: .cfi_def_cfa_offset 25769803824
|
|
; CHECK-NEXT: movabsq $21474836521, %rax # imm = 0x500000029
|
|
; CHECK-NEXT: leaq (%rsp,%rax), %rdi
|
|
; CHECK-NEXT: movabsq $17179869226, %rax # imm = 0x40000002A
|
|
; CHECK-NEXT: leaq (%rsp,%rax), %rsi
|
|
; CHECK-NEXT: movq %rsi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
|
|
; CHECK-NEXT: movabsq $12884901931, %rax # imm = 0x30000002B
|
|
; CHECK-NEXT: leaq (%rsp,%rax), %rdx
|
|
; CHECK-NEXT: movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
|
|
; CHECK-NEXT: movabsq $8589934636, %rax # imm = 0x20000002C
|
|
; CHECK-NEXT: leaq (%rsp,%rax), %rcx
|
|
; CHECK-NEXT: movq %rcx, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
|
|
; CHECK-NEXT: callq baz@PLT
|
|
; CHECK-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rsi # 8-byte Reload
|
|
; CHECK-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rdx # 8-byte Reload
|
|
; CHECK-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rcx # 8-byte Reload
|
|
; CHECK-NEXT: movq %rax, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
|
|
; CHECK-NEXT: leaq 46(%rsp), %rdi
|
|
; CHECK-NEXT: callq baz@PLT
|
|
; CHECK-NEXT: movq {{[-0-9]+}}(%r{{[sb]}}p), %rax # 8-byte Reload
|
|
; CHECK-NEXT: movabsq $25769803816, %rcx # imm = 0x600000028
|
|
; CHECK-NEXT: addq %rcx, %rsp
|
|
; CHECK-NEXT: .cfi_def_cfa_offset 8
|
|
; CHECK-NEXT: retq
|
|
%large1 = alloca %large, align 1
|
|
%ptrLarge1 = getelementptr inbounds %large, ptr %large1, i64 0, i64 0
|
|
%large2 = alloca %large, align 1
|
|
%ptrLarge2 = getelementptr inbounds %large, ptr %large2, i64 0, i64 0
|
|
%large3 = alloca %large, align 1
|
|
%ptrLarge3 = getelementptr inbounds %large, ptr %large3, i64 0, i64 0
|
|
%large4 = alloca %large, align 1
|
|
%ptrLarge4 = getelementptr inbounds %large, ptr %large4, i64 0, i64 0
|
|
%large5 = alloca %large, align 1
|
|
%ptrLarge5 = getelementptr inbounds %large, ptr %large5, i64 0, i64 0
|
|
%ret1 = call ptr @baz(ptr %ptrLarge1, ptr %ptrLarge2, ptr %ptrLarge3, ptr %ptrLarge4)
|
|
%large6 = alloca %large, align 1
|
|
%ptrLarge6 = getelementptr inbounds %large, ptr %large6, i64 0, i64 0
|
|
%ret2 = call ptr @baz(ptr %ptrLarge6, ptr %ptrLarge2, ptr %ptrLarge3, ptr %ptrLarge4)
|
|
ret ptr %ret1
|
|
}
|