Lines Matching +full:multiply +full:- +full:accumulate

1 // SPDX-License-Identifier: GPL-2.0-only
3 * arch/arm/probes/kprobes/test-thumb.c
13 #include "test-core.h"
89 TEST_GROUP("16-bit Thumb data-processing instructions") in kprobe_thumb16_test_cases()
118 TEST_R( "add sp" ", r",8,-8, "") in kprobe_thumb16_test_cases()
120 TEST_BF_R("add pc" ", r",0,2f-1f-8,"") in kprobe_thumb16_test_cases()
125 TEST_R( "cmp sp" ", r",8,-8, "") in kprobe_thumb16_test_cases()
130 TEST_P( "mov sp, r",8,-8, "") in kprobe_thumb16_test_cases()
164 TEST_GROUP("16-bit Thumb Load/store instructions") in kprobe_thumb16_test_cases()
204 TEST_GROUP("Generate PC-/SP-relative address") in kprobe_thumb16_test_cases()
211 TEST_GROUP("Miscellaneous 16-bit instructions") in kprobe_thumb16_test_cases()
223 TEST_BF_R( "cbz r",2,-1,", 2f") in kprobe_thumb16_test_cases()
254 TEST("push {r0-r7,r14}") in kprobe_thumb16_test_cases()
261 TEST_POPPC("pop {r0-r7,pc}",7*4) in kprobe_thumb16_test_cases()
264 TEST_THUMB_TO_ARM_INTERWORK_P("pop {r0-r7,pc} @ ",13,7*4,"") in kprobe_thumb16_test_cases()
300 TEST_P("ldmia r",7, 16*4,"!, {r0-r6}") in kprobe_thumb16_test_cases()
302 TEST_P("stmia r",0, 16*4,"!, {r0-r7}") in kprobe_thumb16_test_cases()
344 TEST_P( "stmia r",4, 16*4,", {r0-r12,r14}") in kprobe_thumb32_test_cases()
345 TEST_P( "stmia r",7, 16*4,"!, {r8-r12,r14}") in kprobe_thumb32_test_cases()
346 TEST_P( "stmia r",12,16*4,"!, {r1,r3,r5,r7,r8-r11,r14}") in kprobe_thumb32_test_cases()
349 TEST_P( "ldmia r",4, 0, ", {r0-r12,r14}") in kprobe_thumb32_test_cases()
350 TEST_BF_P("ldmia r",5, 8*4, "!, {r6-r12,r15}") in kprobe_thumb32_test_cases()
351 TEST_P( "ldmia r",12,16*4,"!, {r1,r3,r5,r7,r8-r11,r14}") in kprobe_thumb32_test_cases()
355 TEST_P( "stmdb r",4, 16*4,", {r0-r12,r14}") in kprobe_thumb32_test_cases()
356 TEST_P( "stmdb r",5, 16*4,"!, {r8-r12,r14}") in kprobe_thumb32_test_cases()
357 TEST_P( "stmdb r",12,16*4,"!, {r1,r3,r5,r7,r8-r11,r14}") in kprobe_thumb32_test_cases()
360 TEST_P( "ldmdb r",4, 16*4,", {r0-r12,r14}") in kprobe_thumb32_test_cases()
361 TEST_BF_P("ldmdb r",5, 16*4,"!, {r6-r12,r15}") in kprobe_thumb32_test_cases()
362 TEST_P( "ldmdb r",12,16*4,"!, {r1,r3,r5,r7,r8-r11,r14}") in kprobe_thumb32_test_cases()
365 TEST_P( "stmdb r",13,16*4,"!, {r3-r12,lr}") in kprobe_thumb32_test_cases()
366 TEST_P( "stmdb r",13,16*4,"!, {r3-r12}") in kprobe_thumb32_test_cases()
367 TEST_P( "stmdb r",2, 16*4,", {r3-r12,lr}") in kprobe_thumb32_test_cases()
368 TEST_P( "stmdb r",13,16*4,"!, {r2-r12,lr}") in kprobe_thumb32_test_cases()
369 TEST_P( "stmdb r",0, 16*4,", {r0-r12}") in kprobe_thumb32_test_cases()
370 TEST_P( "stmdb r",0, 16*4,", {r0-r12,lr}") in kprobe_thumb32_test_cases()
372 TEST_BF_P("ldmia r",13,5*4, "!, {r3-r12,pc}") in kprobe_thumb32_test_cases()
373 TEST_P( "ldmia r",13,5*4, "!, {r3-r12}") in kprobe_thumb32_test_cases()
374 TEST_BF_P("ldmia r",2, 5*4, "!, {r3-r12,pc}") in kprobe_thumb32_test_cases()
375 TEST_BF_P("ldmia r",13,4*4, "!, {r2-r12,pc}") in kprobe_thumb32_test_cases()
376 TEST_P( "ldmia r",0, 16*4,", {r0-r12}") in kprobe_thumb32_test_cases()
377 TEST_P( "ldmia r",0, 16*4,", {r0-r12,lr}") in kprobe_thumb32_test_cases()
380 TEST_THUMB_TO_ARM_INTERWORK_P("ldmia r",13,2*4,", {r0-r12,pc}") in kprobe_thumb32_test_cases()
383 TEST_UNSUPPORTED(__inst_thumb32(0xe92f5f00) " @ stmdb pc!, {r8-r12,r14}") in kprobe_thumb32_test_cases()
386 TEST_UNSUPPORTED(__inst_thumb32(0xe8a73f00) " @ stmia r7!, {r8-r12,sp}") in kprobe_thumb32_test_cases()
387 TEST_UNSUPPORTED(__inst_thumb32(0xe8a79f00) " @ stmia r7!, {r8-r12,pc}") in kprobe_thumb32_test_cases()
392 TEST_P( "ldrd r0, r1, [r",1, 24,", #-16]") in kprobe_thumb32_test_cases()
394 TEST_P( "ldrd r1, r0, [r",7, 24,", #-16]!") in kprobe_thumb32_test_cases()
397 TEST( "ldrd r7, r8, [sp], #-16") in kprobe_thumb32_test_cases()
411 TEST_RRP("strd r",0, VAL1,", r",1, VAL2,", [r",1, 24,", #-16]") in kprobe_thumb32_test_cases()
413 TEST_RRP("strd r",1, VAL1,", r",0, VAL2,", [r",7, 24,", #-16]!") in kprobe_thumb32_test_cases()
416 TEST_RR( "strd r",7, VAL2,", r",8, VAL1,", [sp], #-16") in kprobe_thumb32_test_cases()
417 …TEST_RRP("strd r",6, VAL1,", r",7, VAL2,", [r",13, TEST_MEMORY_SIZE,", #-"__stringify(MAX_STACK_SI… in kprobe_thumb32_test_cases()
418 TEST_UNSUPPORTED("strd r6, r7, [r13, #-"__stringify(MAX_STACK_SIZE)"-8]!") in kprobe_thumb32_test_cases()
419 …"strd r",4, VAL1,", r",5, VAL2,", [r",14, TEST_MEMORY_SIZE,", #-"__stringify(MAX_STACK_SIZE)"-8]!") in kprobe_thumb32_test_cases()
423 TEST_RX("tbb [pc, r",0, (9f-(1f+4)),"]", in kprobe_thumb32_test_cases()
425 ".byte (2f-1b-4)>>1 \n\t" in kprobe_thumb32_test_cases()
426 ".byte (3f-1b-4)>>1 \n\t" in kprobe_thumb32_test_cases()
430 TEST_RX("tbb [pc, r",4, (9f-(1f+4)+1),"]", in kprobe_thumb32_test_cases()
432 ".byte (2f-1b-4)>>1 \n\t" in kprobe_thumb32_test_cases()
433 ".byte (3f-1b-4)>>1 \n\t" in kprobe_thumb32_test_cases()
439 ".byte (2f-1b-4)>>1 \n\t" in kprobe_thumb32_test_cases()
440 ".byte (3f-1b-4)>>1 \n\t" in kprobe_thumb32_test_cases()
444 TEST_RX("tbh [pc, r",7, (9f-(1f+4))>>1,", lsl #1]", in kprobe_thumb32_test_cases()
446 ".short (2f-1b-4)>>1 \n\t" in kprobe_thumb32_test_cases()
447 ".short (3f-1b-4)>>1 \n\t" in kprobe_thumb32_test_cases()
451 TEST_RX("tbh [pc, r",12, ((9f-(1f+4))>>1)+1,", lsl #1]", in kprobe_thumb32_test_cases()
453 ".short (2f-1b-4)>>1 \n\t" in kprobe_thumb32_test_cases()
454 ".short (3f-1b-4)>>1 \n\t" in kprobe_thumb32_test_cases()
460 ".short (2f-1b-4)>>1 \n\t" in kprobe_thumb32_test_cases()
461 ".short (3f-1b-4)>>1 \n\t" in kprobe_thumb32_test_cases()
476 TEST_GROUP("Data-processing (shifted register) and (modified immediate)") in kprobe_thumb32_test_cases()
651 TEST_GROUP("Data-processing (plain binary immediate)") in kprobe_thumb32_test_cases()
811 TEST_RP( "str"size" r",0, VAL1,", [r",11,-1024,", #1024]") \ in kprobe_thumb32_test_cases()
812 TEST_RP( "str"size" r",14,VAL2,", [r",1, -1024,", #1080]") \ in kprobe_thumb32_test_cases()
813 TEST_RP( "str"size" r",0, VAL1,", [r",11,256, ", #-120]") \ in kprobe_thumb32_test_cases()
814 TEST_RP( "str"size" r",14,VAL2,", [r",1, 256, ", #-128]") \ in kprobe_thumb32_test_cases()
817 TEST_RP( "str"size" r",0, VAL1,", [r",11,24, "], #-120") \ in kprobe_thumb32_test_cases()
818 TEST_RP( "str"size" r",14,VAL2,", [r",1, 24, "], #-128") \ in kprobe_thumb32_test_cases()
821 TEST_RP( "str"size" r",0, VAL1,", [r",11,256, ", #-120]!") \ in kprobe_thumb32_test_cases()
822 TEST_RP( "str"size" r",14,VAL2,", [r",1, 256, ", #-128]!") \ in kprobe_thumb32_test_cases()
828 TEST_RP( "str"size" r",6, VAL1,", [r",13, TEST_MEMORY_SIZE,", #-"__stringify(MAX_STACK_SIZE)"]!") \ in kprobe_thumb32_test_cases()
829 TEST_UNSUPPORTED("str"size" r6, [r13, #-"__stringify(MAX_STACK_SIZE)"-8]!") \ in kprobe_thumb32_test_cases()
830 …TEST_RP( "str"size" r",4, VAL2,", [r",12, TEST_MEMORY_SIZE,", #-"__stringify(MAX_STACK_SIZE)"-8]!"… in kprobe_thumb32_test_cases()
855 TEST_P( "ldr"size" r0, [r",11,-1024, ", #1024]") \ in kprobe_thumb32_test_cases()
856 TEST_P( "ldr"size" r14, [r",1, -1024,", #1080]") \ in kprobe_thumb32_test_cases()
857 TEST_P( "ldr"size" r0, [r",11,256, ", #-120]") \ in kprobe_thumb32_test_cases()
858 TEST_P( "ldr"size" r14, [r",1, 256, ", #-128]") \ in kprobe_thumb32_test_cases()
861 TEST_P( "ldr"size" r0, [r",11,24, "], #-120") \ in kprobe_thumb32_test_cases()
862 TEST_P( "ldr"size" r14, [r",1,24, "], #-128") \ in kprobe_thumb32_test_cases()
865 TEST_P( "ldr"size" r0, [r",11,256, ", #-120]!") \ in kprobe_thumb32_test_cases()
866 TEST_P( "ldr"size" r14, [r",1, 256, ", #-128]!") \ in kprobe_thumb32_test_cases()
910 TEST( "pli [pc, #-4]") in kprobe_thumb32_test_cases()
912 TEST( "pld [pc, #-4]") in kprobe_thumb32_test_cases()
914 TEST_P( "pld [r",0,-1024,", #1024]") in kprobe_thumb32_test_cases()
917 TEST_P( "pld [r",7, 120,", #-120]") in kprobe_thumb32_test_cases()
918 TEST( __inst_thumb32(0xf837fc78) " @ pldw [r7, #-120]") in kprobe_thumb32_test_cases()
919 TEST_P( "pli [r",11,120,", #-120]") in kprobe_thumb32_test_cases()
932 TEST_GROUP("Data-processing (register)") in kprobe_thumb32_test_cases()
1049 TEST_GROUP("Multiply, multiply accumulate, and absolute difference operations") in kprobe_thumb32_test_cases()
1143 TEST_GROUP("Long multiply, long multiply accumulate, and divide") in kprobe_thumb32_test_cases()