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
192 lines
8.6 KiB
ArmAsm
192 lines
8.6 KiB
ArmAsm
// RUN: llvm-mc -triple amdgcn-amd-amdhsa < %s | FileCheck --check-prefix=ASM %s
|
|
// RUN: llvm-mc -triple amdgcn-amd-amdhsa -filetype=obj < %s > %t
|
|
// RUN: llvm-objdump --syms %t | FileCheck --check-prefix=OBJDUMP %s
|
|
|
|
// OBJDUMP: SYMBOL TABLE:
|
|
// OBJDUMP-NEXT: 0000000000000000 l *ABS* 0000000000000000 zero
|
|
// OBJDUMP-NEXT: 0000000000000001 l *ABS* 0000000000000000 one
|
|
// OBJDUMP-NEXT: 0000000000000002 l *ABS* 0000000000000000 two
|
|
// OBJDUMP-NEXT: 0000000000000003 l *ABS* 0000000000000000 three
|
|
// OBJDUMP-NEXT: 7fffffffffffffff l *ABS* 0000000000000000 i64_max
|
|
// OBJDUMP-NEXT: 8000000000000000 l *ABS* 0000000000000000 i64_min
|
|
// OBJDUMP-NEXT: 0000000000000005 l *ABS* 0000000000000000 max_expression_all
|
|
// OBJDUMP-NEXT: 0000000000000005 l *ABS* 0000000000000000 five
|
|
// OBJDUMP-NEXT: 0000000000000004 l *ABS* 0000000000000000 four
|
|
// OBJDUMP-NEXT: 0000000000000002 l *ABS* 0000000000000000 max_expression_two
|
|
// OBJDUMP-NEXT: 0000000000000001 l *ABS* 0000000000000000 max_expression_one
|
|
// OBJDUMP-NEXT: 000000000000000a l *ABS* 0000000000000000 max_literals
|
|
// OBJDUMP-NEXT: 000000000000000f l *ABS* 0000000000000000 max_with_max_sym
|
|
// OBJDUMP-NEXT: 000000000000000f l *ABS* 0000000000000000 max
|
|
// OBJDUMP-NEXT: ffffffffffffffff l *ABS* 0000000000000000 max_neg_numbers
|
|
// OBJDUMP-NEXT: ffffffffffffffff l *ABS* 0000000000000000 max_neg_number
|
|
// OBJDUMP-NEXT: 0000000000000003 l *ABS* 0000000000000000 max_with_subexpr
|
|
// OBJDUMP-NEXT: 0000000000000006 l *ABS* 0000000000000000 max_as_subexpr
|
|
// OBJDUMP-NEXT: 0000000000000005 l *ABS* 0000000000000000 max_recursive_subexpr
|
|
// OBJDUMP-NEXT: 7fffffffffffffff l *ABS* 0000000000000000 max_expr_one_max
|
|
// OBJDUMP-NEXT: 7fffffffffffffff l *ABS* 0000000000000000 max_expr_two_max
|
|
// OBJDUMP-NEXT: 7fffffffffffffff l *ABS* 0000000000000000 max_expr_three_max
|
|
// OBJDUMP-NEXT: 8000000000000000 l *ABS* 0000000000000000 max_expr_one_min
|
|
// OBJDUMP-NEXT: 0000000000000003 l *ABS* 0000000000000000 max_expr_two_min
|
|
// OBJDUMP-NEXT: 0000000000989680 l *ABS* 0000000000000000 max_expr_three_min
|
|
// OBJDUMP-NEXT: 0000000000000001 l *ABS* 0000000000000000 min_expression_all
|
|
// OBJDUMP-NEXT: 0000000000000001 l *ABS* 0000000000000000 min_expression_two
|
|
// OBJDUMP-NEXT: 0000000000000003 l *ABS* 0000000000000000 min_expression_one
|
|
// OBJDUMP-NEXT: 0000000000000001 l *ABS* 0000000000000000 min_literals
|
|
// OBJDUMP-NEXT: 0000000000000000 l *ABS* 0000000000000000 min_with_min_sym
|
|
// OBJDUMP-NEXT: 0000000000000000 l *ABS* 0000000000000000 min
|
|
// OBJDUMP-NEXT: ffffffffffffffff l *ABS* 0000000000000000 neg_one
|
|
// OBJDUMP-NEXT: fffffffffffffffb l *ABS* 0000000000000000 min_neg_numbers
|
|
// OBJDUMP-NEXT: ffffffffffffffff l *ABS* 0000000000000000 min_neg_number
|
|
// OBJDUMP-NEXT: 0000000000000003 l *ABS* 0000000000000000 min_with_subexpr
|
|
// OBJDUMP-NEXT: 0000000000000004 l *ABS* 0000000000000000 min_as_subexpr
|
|
// OBJDUMP-NEXT: 0000000000000001 l *ABS* 0000000000000000 min_recursive_subexpr
|
|
// OBJDUMP-NEXT: 7fffffffffffffff l *ABS* 0000000000000000 min_expr_one_max
|
|
// OBJDUMP-NEXT: 0000000000000003 l *ABS* 0000000000000000 min_expr_two_max
|
|
// OBJDUMP-NEXT: ffffffffff676980 l *ABS* 0000000000000000 min_expr_three_max
|
|
// OBJDUMP-NEXT: 8000000000000000 l *ABS* 0000000000000000 min_expr_one_min
|
|
// OBJDUMP-NEXT: 8000000000000000 l *ABS* 0000000000000000 min_expr_two_min
|
|
// OBJDUMP-NEXT: 8000000000000000 l *ABS* 0000000000000000 min_expr_three_min
|
|
// OBJDUMP-NEXT: 0000000000000007 l *ABS* 0000000000000000 or_expression_all
|
|
// OBJDUMP-NEXT: 0000000000000003 l *ABS* 0000000000000000 or_expression_two
|
|
// OBJDUMP-NEXT: 0000000000000001 l *ABS* 0000000000000000 or_expression_one
|
|
// OBJDUMP-NEXT: 000000000000000f l *ABS* 0000000000000000 or_literals
|
|
// OBJDUMP-NEXT: 0000000000000000 l *ABS* 0000000000000000 or_false
|
|
// OBJDUMP-NEXT: 00000000000000ff l *ABS* 0000000000000000 or_with_or_sym
|
|
// OBJDUMP-NEXT: 00000000000000ff l *ABS* 0000000000000000 or
|
|
// OBJDUMP-NEXT: 0000000000000003 l *ABS* 0000000000000000 or_with_subexpr
|
|
// OBJDUMP-NEXT: 0000000000000008 l *ABS* 0000000000000000 or_as_subexpr
|
|
// OBJDUMP-NEXT: 0000000000000007 l *ABS* 0000000000000000 or_recursive_subexpr
|
|
|
|
// ASM: .set zero, 0
|
|
// ASM: .set one, 1
|
|
// ASM: .set two, 2
|
|
// ASM: .set three, 3
|
|
// ASM: .set i64_max, 9223372036854775807
|
|
// ASM: .set i64_min, -9223372036854775808
|
|
|
|
.set zero, 0
|
|
.set one, 1
|
|
.set two, 2
|
|
.set three, 3
|
|
.set i64_max, 0x7FFFFFFFFFFFFFFF
|
|
.set i64_min, 0x8000000000000000
|
|
|
|
// ASM: .set max_expression_all, max(1, 2, five, 3, four)
|
|
// ASM: .set max_expression_two, 2
|
|
// ASM: .set max_expression_one, 1
|
|
// ASM: .set max_literals, 10
|
|
// ASM: .set max_with_max_sym, max(max, 4, 3, 1, 2)
|
|
|
|
.set max_expression_all, max(one, two, five, three, four)
|
|
.set max_expression_two, max(one, two)
|
|
.set max_expression_one, max(one)
|
|
.set max_literals, max(1,2,3,4,5,6,7,8,9,10)
|
|
.set max_with_max_sym, max(max, 4, 3, one, two)
|
|
|
|
// ASM: .set max_neg_numbers, -1
|
|
// ASM: .set max_neg_number, -1
|
|
|
|
.set neg_one, -1
|
|
.set max_neg_numbers, max(-5, -4, -3, -2, neg_one)
|
|
.set max_neg_number, max(neg_one)
|
|
|
|
// ASM: .set max_with_subexpr, 3
|
|
// ASM: .set max_as_subexpr, 1+max(4, 3, five)
|
|
// ASM: .set max_recursive_subexpr, max(max(1, four), 3, max_expression_all)
|
|
|
|
.set max_with_subexpr, max(((one | 3) << 3) / 8)
|
|
.set max_as_subexpr, 1 + max(4, 3, five)
|
|
.set max_recursive_subexpr, max(max(one, four), three, max_expression_all)
|
|
|
|
// ASM: .set max_expr_one_max, 9223372036854775807
|
|
// ASM: .set max_expr_two_max, max(9223372036854775807, five)
|
|
// ASM: .set max_expr_three_max, max(9223372036854775807, five, 10000000)
|
|
|
|
.set max_expr_one_max, max(i64_max)
|
|
.set max_expr_two_max, max(i64_max, five)
|
|
.set max_expr_three_max, max(i64_max, five, 10000000)
|
|
|
|
// ASM: .set max_expr_one_min, -9223372036854775808
|
|
// ASM: .set max_expr_two_min, 3
|
|
// ASM: .set max_expr_three_min, 10000000
|
|
|
|
.set max_expr_one_min, max(i64_min)
|
|
.set max_expr_two_min, max(i64_min, three)
|
|
.set max_expr_three_min, max(i64_min, three, 10000000)
|
|
|
|
// ASM: .set min_expression_all, min(1, 2, five, 3, four)
|
|
// ASM: .set min_expression_two, 1
|
|
// ASM: .set min_expression_one, 3
|
|
// ASM: .set min_literals, 1
|
|
// ASM: .set min_with_min_sym, min(min, 4, 3, 1, 2)
|
|
|
|
.set min_expression_all, min(one, two, five, three, four)
|
|
.set min_expression_two, min(one, three)
|
|
.set min_expression_one, min(three)
|
|
.set min_literals, min(1,2,3,4,5,6,7,8,9,10)
|
|
.set min_with_min_sym, min(min, 4, 3, one, two)
|
|
|
|
// ASM: .set min_neg_numbers, -5
|
|
// ASM: .set min_neg_number, -1
|
|
|
|
.set neg_one, -1
|
|
.set min_neg_numbers, min(-5, -4, -3, -2, neg_one)
|
|
.set min_neg_number, min(neg_one)
|
|
|
|
// ASM: .set min_with_subexpr, 3
|
|
// ASM: .set min_as_subexpr, 1+min(4, 3, five)
|
|
// ASM: .set min_recursive_subexpr, min(min(1, four), 3, min_expression_all)
|
|
|
|
.set min_with_subexpr, min(((one | 3) << 3) / 8)
|
|
.set min_as_subexpr, 1 + min(4, 3, five)
|
|
.set min_recursive_subexpr, min(min(one, four), three, min_expression_all)
|
|
|
|
// ASM: .set min_expr_one_max, 9223372036854775807
|
|
// ASM: .set min_expr_two_max, 3
|
|
// ASM: .set min_expr_three_max, -10000000
|
|
|
|
.set min_expr_one_max, min(i64_max)
|
|
.set min_expr_two_max, min(i64_max, three)
|
|
.set min_expr_three_max, min(i64_max, three, -10000000)
|
|
|
|
// ASM: .set min_expr_one_min, -9223372036854775808
|
|
// ASM: .set min_expr_two_min, min(-9223372036854775808, five)
|
|
// ASM: .set min_expr_three_min, min(-9223372036854775808, five, 10000000)
|
|
|
|
.set min_expr_one_min, min(i64_min)
|
|
.set min_expr_two_min, min(i64_min, five)
|
|
.set min_expr_three_min, min(i64_min, five, 10000000)
|
|
|
|
// ASM: .set or_expression_all, or(1, 2, five, 3, four)
|
|
// ASM: .set or_expression_two, 3
|
|
// ASM: .set or_expression_one, 1
|
|
// ASM: .set or_literals, 15
|
|
// ASM: .set or_false, 0
|
|
// ASM: .set or_with_or_sym, or(or, 4, 3, 1, 2)
|
|
|
|
.set or_expression_all, or(one, two, five, three, four)
|
|
.set or_expression_two, or(one, two)
|
|
.set or_expression_one, or(one)
|
|
.set or_literals, or(1,2,3,4,5,6,7,8,9,10)
|
|
.set or_false, or(zero, 0, (2-2), 5 > 6)
|
|
.set or_with_or_sym, or(or, 4, 3, one, two)
|
|
|
|
// ASM: .set or_with_subexpr, 3
|
|
// ASM: .set or_as_subexpr, 1+or(4, 3, five)
|
|
// ASM: .set or_recursive_subexpr, or(or(1, four), 3, or_expression_all)
|
|
|
|
.set or_with_subexpr, or(((one | 3) << 3) / 8)
|
|
.set or_as_subexpr, 1 + or(4, 3, five)
|
|
.set or_recursive_subexpr, or(or(one, four), three, or_expression_all)
|
|
|
|
// ASM: .set four, 4
|
|
// ASM: .set five, 5
|
|
// ASM: .set max, 15
|
|
// ASM: .set or, 255
|
|
|
|
.set four, 4
|
|
.set five, 5
|
|
.set max, 0xF
|
|
.set min, 0x0
|
|
.set or, 0xFF
|