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
312 lines
6.9 KiB
ArmAsm
312 lines
6.9 KiB
ArmAsm
//Original:/testcases/core/c_dsp32shift_lhh/c_dsp32shift_lhh.dsp
|
|
// Spec Reference: dsp32shift lshift/lshift
|
|
# mach: bfin
|
|
|
|
.include "testutils.inc"
|
|
start
|
|
|
|
|
|
|
|
// lshift/lshift : = (half reg)
|
|
// d_reg = lshift/lshift (d BY d_lo)
|
|
// Rx by RLx
|
|
imm32 r0, 0x01230000;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R1 = LSHIFT R0 BY R0.L (V);
|
|
R2 = LSHIFT R1 BY R0.L (V);
|
|
R3 = LSHIFT R2 BY R0.L (V);
|
|
R4 = LSHIFT R3 BY R0.L (V);
|
|
R5 = LSHIFT R4 BY R0.L (V);
|
|
R6 = LSHIFT R5 BY R0.L (V);
|
|
R7 = LSHIFT R6 BY R0.L (V);
|
|
R0 = LSHIFT R7 BY R0.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R1.L = 5;
|
|
R2 = LSHIFT R0 BY R1.L (V);
|
|
R3 = LSHIFT R1 BY R1.L (V);
|
|
R4 = LSHIFT R2 BY R1.L (V);
|
|
R5 = LSHIFT R3 BY R1.L (V);
|
|
R6 = LSHIFT R4 BY R1.L (V);
|
|
R7 = LSHIFT R5 BY R1.L (V);
|
|
R0 = LSHIFT R6 BY R1.L (V);
|
|
R1 = LSHIFT R7 BY R1.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R2 = 15;
|
|
R3 = LSHIFT R0 BY R2.L (V);
|
|
R4 = LSHIFT R1 BY R2.L (V);
|
|
R5 = LSHIFT R2 BY R2.L (V);
|
|
R6 = LSHIFT R3 BY R2.L (V);
|
|
R7 = LSHIFT R4 BY R2.L (V);
|
|
R0 = LSHIFT R5 BY R2.L (V);
|
|
R1 = LSHIFT R6 BY R2.L (V);
|
|
R2 = LSHIFT R7 BY R2.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R3.L = 16;
|
|
R4 = LSHIFT R0 BY R3.L (V);
|
|
R5 = LSHIFT R1 BY R3.L (V);
|
|
R6 = LSHIFT R2 BY R3.L (V);
|
|
R7 = LSHIFT R3 BY R3.L (V);
|
|
R0 = LSHIFT R4 BY R3.L (V);
|
|
R1 = LSHIFT R5 BY R3.L (V);
|
|
R2 = LSHIFT R6 BY R3.L (V);
|
|
R3 = LSHIFT R7 BY R3.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R4.L = -1;
|
|
R0 = LSHIFT R0 BY R4.L (V);
|
|
R1 = LSHIFT R1 BY R4.L (V);
|
|
R2 = LSHIFT R2 BY R4.L (V);
|
|
R3 = LSHIFT R3 BY R4.L (V);
|
|
R4 = LSHIFT R4 BY R4.L (V);
|
|
R5 = LSHIFT R5 BY R4.L (V);
|
|
R6 = LSHIFT R6 BY R4.L (V);
|
|
R7 = LSHIFT R7 BY R4.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R5.L = -6;
|
|
R6 = LSHIFT R0 BY R5.L (V);
|
|
R7 = LSHIFT R1 BY R5.L (V);
|
|
R0 = LSHIFT R2 BY R5.L (V);
|
|
R1 = LSHIFT R3 BY R5.L (V);
|
|
R2 = LSHIFT R4 BY R5.L (V);
|
|
R3 = LSHIFT R5 BY R5.L (V);
|
|
R4 = LSHIFT R6 BY R5.L (V);
|
|
R5 = LSHIFT R7 BY R5.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R6.L = -15;
|
|
R7 = LSHIFT R0 BY R6.L (V);
|
|
R0 = LSHIFT R1 BY R6.L (V);
|
|
R1 = LSHIFT R2 BY R6.L (V);
|
|
R2 = LSHIFT R3 BY R6.L (V);
|
|
R3 = LSHIFT R4 BY R6.L (V);
|
|
R4 = LSHIFT R5 BY R6.L (V);
|
|
R5 = LSHIFT R6 BY R6.L (V);
|
|
R6 = LSHIFT R7 BY R6.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R7.L = -16;
|
|
R0 = LSHIFT R0 BY R7.L (V);
|
|
R1 = LSHIFT R1 BY R7.L (V);
|
|
R2 = LSHIFT R2 BY R7.L (V);
|
|
R3 = LSHIFT R3 BY R7.L (V);
|
|
R4 = LSHIFT R4 BY R7.L (V);
|
|
R5 = LSHIFT R5 BY R7.L (V);
|
|
R6 = LSHIFT R6 BY R7.L (V);
|
|
R7 = LSHIFT R7 BY R7.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R0.L = 4;
|
|
//r0 = lshift/lshift (r0 by rl0);
|
|
R1 = LSHIFT R1 BY R0.L (V);
|
|
R2 = LSHIFT R2 BY R0.L (V);
|
|
R3 = LSHIFT R3 BY R0.L (V);
|
|
R4 = LSHIFT R4 BY R0.L (V);
|
|
R5 = LSHIFT R5 BY R0.L (V);
|
|
R6 = LSHIFT R6 BY R0.L (V);
|
|
R7 = LSHIFT R7 BY R0.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R1.L = 6;
|
|
R0 = LSHIFT R0 BY R1.L (V);
|
|
//r1 = lshift/lshift (r1 by rl1);
|
|
R2 = LSHIFT R2 BY R1.L (V);
|
|
R3 = LSHIFT R3 BY R1.L (V);
|
|
R4 = LSHIFT R4 BY R1.L (V);
|
|
R5 = LSHIFT R5 BY R1.L (V);
|
|
R6 = LSHIFT R6 BY R1.L (V);
|
|
R7 = LSHIFT R7 BY R1.L (V);
|
|
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R2.L = 15;
|
|
R0 = LSHIFT R0 BY R2.L (V);
|
|
R1 = LSHIFT R1 BY R2.L (V);
|
|
//r2 = lshift/lshift (r2 by rl2);
|
|
R3 = LSHIFT R3 BY R2.L (V);
|
|
R4 = LSHIFT R4 BY R2.L (V);
|
|
R5 = LSHIFT R5 BY R2.L (V);
|
|
R6 = LSHIFT R6 BY R2.L (V);
|
|
R7 = LSHIFT R7 BY R2.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R3.L = 16;
|
|
R0 = LSHIFT R0 BY R3.L (V);
|
|
R1 = LSHIFT R1 BY R3.L (V);
|
|
R2 = LSHIFT R2 BY R3.L (V);
|
|
//r3 = lshift/lshift (r3 by rl3);
|
|
R4 = LSHIFT R4 BY R3.L (V);
|
|
R5 = LSHIFT R5 BY R3.L (V);
|
|
R6 = LSHIFT R6 BY R3.L (V);
|
|
R7 = LSHIFT R7 BY R3.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R4.L = -9;
|
|
R0 = LSHIFT R0 BY R4.L (V);
|
|
R1 = LSHIFT R1 BY R4.L (V);
|
|
R2 = LSHIFT R2 BY R4.L (V);
|
|
R3 = LSHIFT R3 BY R4.L (V);
|
|
//r4 = lshift/lshift (r4 by rl4);
|
|
R5 = LSHIFT R5 BY R4.L (V);
|
|
R6 = LSHIFT R6 BY R4.L (V);
|
|
R7 = LSHIFT R7 BY R4.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R5.L = -14;
|
|
R0 = LSHIFT R0 BY R5.L (V);
|
|
R1 = LSHIFT R1 BY R5.L (V);
|
|
R2 = LSHIFT R2 BY R5.L (V);
|
|
R3 = LSHIFT R3 BY R5.L (V);
|
|
R4 = LSHIFT R4 BY R5.L (V);
|
|
//r5 = lshift/lshift (r5 by rl5);
|
|
R6 = LSHIFT R6 BY R5.L (V);
|
|
R7 = LSHIFT R7 BY R5.L (V);
|
|
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R6.L = -15;
|
|
R0 = LSHIFT R0 BY R6.L (V);
|
|
R1 = LSHIFT R1 BY R6.L (V);
|
|
R2 = LSHIFT R2 BY R6.L (V);
|
|
R3 = LSHIFT R3 BY R6.L (V);
|
|
R4 = LSHIFT R4 BY R6.L (V);
|
|
R5 = LSHIFT R5 BY R6.L (V);
|
|
//r6 = lshift/lshift (r6 by rl6);
|
|
R7 = LSHIFT R7 BY R6.L (V);
|
|
|
|
imm32 r0, 0x01230002;
|
|
imm32 r1, 0x12345678;
|
|
imm32 r2, 0x23456789;
|
|
imm32 r3, 0x3456789a;
|
|
imm32 r4, 0x456789ab;
|
|
imm32 r5, 0x56789abc;
|
|
imm32 r6, 0x6789abcd;
|
|
imm32 r7, 0x789abcde;
|
|
R7.L = -16;
|
|
R0 = LSHIFT R0 BY R7.L (V);
|
|
R1 = LSHIFT R1 BY R7.L (V);
|
|
R2 = LSHIFT R2 BY R7.L (V);
|
|
R3 = LSHIFT R3 BY R7.L (V);
|
|
R4 = LSHIFT R4 BY R7.L (V);
|
|
R5 = LSHIFT R5 BY R7.L (V);
|
|
R6 = LSHIFT R6 BY R7.L (V);
|
|
R7 = LSHIFT R7 BY R7.L (V);
|
|
CHECKREG r0, 0x00000000;
|
|
CHECKREG r1, 0x00000000;
|
|
CHECKREG r2, 0x00000000;
|
|
CHECKREG r3, 0x00000000;
|
|
CHECKREG r4, 0x00000000;
|
|
CHECKREG r5, 0x00000000;
|
|
CHECKREG r6, 0x00000000;
|
|
CHECKREG r7, 0x00000000;
|
|
CHECKREG r7, 0x00000000;
|
|
|
|
pass
|