📄 opc-i.pl
字号:
$AT = '@';print <<END.text .type _start,${AT}function_start: pmpyshr2 r4 = r5, r6, 0 pmpyshr2.u r4 = r5, r6, 16 pmpy2.r r4 = r5, r6 pmpy2.l r4 = r5, r6 mix1.r r4 = r5, r6 mix2.r r4 = r5, r6 mix4.r r4 = r5, r6 mix1.l r4 = r5, r6 mix2.l r4 = r5, r6 mix4.l r4 = r5, r6 pack2.uss r4 = r5, r6 pack2.sss r4 = r5, r6 pack4.sss r4 = r5, r6 unpack1.h r4 = r5, r6 unpack2.h r4 = r5, r6 unpack4.h r4 = r5, r6 unpack1.l r4 = r5, r6 unpack2.l r4 = r5, r6 unpack4.l r4 = r5, r6 pmin1.u r4 = r5, r6 pmax1.u r4 = r5, r6 pmin2 r4 = r5, r6 pmax2 r4 = r5, r6 psad1 r4 = r5, r6 mux1 r4 = r5, ${AT}rev mux1 r4 = r5, ${AT}mix mux1 r4 = r5, ${AT}shuf mux1 r4 = r5, ${AT}alt mux1 r4 = r5, ${AT}brcst mux2 r4 = r5, 0 mux2 r4 = r5, 0xff mux2 r4 = r5, 0xaa pshr2 r4 = r5, r6 pshr2 r4 = r5, 0 pshr2 r4 = r5, 8 pshr2 r4 = r5, 31 pshr4 r4 = r5, r6 pshr4 r4 = r5, 0 pshr4 r4 = r5, 8 pshr4 r4 = r5, 31 pshr2.u r4 = r5, r6 pshr2.u r4 = r5, 0 pshr2.u r4 = r5, 8 pshr2.u r4 = r5, 31 pshr4.u r4 = r5, r6 pshr4.u r4 = r5, 0 pshr4.u r4 = r5, 8 pshr4.u r4 = r5, 31 shr r4 = r5, r6 shr.u r4 = r5, r6 pshl2 r4 = r5, r6 pshl2 r4 = r5, 0 pshl2 r4 = r5, 8 pshl2 r4 = r5, 31 pshl4 r4 = r5, r6 pshl4 r4 = r5, 0 pshl4 r4 = r5, 8 pshl4 r4 = r5, 31 shl r4 = r5, r6 popcnt r4 = r5 shrp r4 = r5, r6, 0 shrp r4 = r5, r6, 12 shrp r4 = r5, r6, 63 extr r4 = r5, 0, 16 extr r4 = r5, 0, 63 extr r4 = r5, 10, 40 extr.u r4 = r5, 0, 16 extr.u r4 = r5, 0, 63 extr.u r4 = r5, 10, 40 dep.z r4 = r5, 0, 16 dep.z r4 = r5, 0, 63 dep.z r4 = r5, 10, 40 dep.z r4 = 0, 0, 16 dep.z r4 = 127, 0, 63 dep.z r4 = -128, 5, 50 dep.z r4 = 0x55, 10, 40 dep r4 = 0, r5, 0, 16 dep r4 = -1, r5, 0, 63// Insert padding NOPs to force the same template selection as IAS. nop.m 0 nop.f 0 dep r4 = r5, r6, 10, 7 movl r4 = 0 movl r4 = 0xffffffffffffffff movl r4 = 0x1234567890abcdef break.i 0 break.i 0x1fffff nop.i 0 nop.i 0x1fffff chk.s.i r4, _start mov r4 = b0 mov b0 = r4 mov pr = r4, 0 mov pr = r4, 0x1234 mov pr = r4, 0x1ffff mov pr.rot = 0// ??? This was originally 0x3ffffff, but that generates an assembler warning// that the testsuite infrastructure isn't set up to ignore. mov pr.rot = 0x3ff0000 mov pr.rot = -0x4000000 zxt1 r4 = r5 zxt2 r4 = r5 zxt4 r4 = r5 sxt1 r4 = r5 sxt2 r4 = r5 sxt4 r4 = r5 czx1.l r4 = r5 czx2.l r4 = r5 czx1.r r4 = r5 czx2.r r4 = r5END;@ctype = ( "", ".unc", ".and", ".or", ".or.andcm", ".orcm", ".andcm", ".and.orcm" );$i = 0;foreach $z ( ".z", ".nz" ) { foreach $c (@ctype) { print "\ttbit${z}${c} p2, p3 = r4, $i\n"; ++$i; }}print "\n";foreach $z ( ".z", ".nz" ) { foreach $c (@ctype) { print "\ttnat${z}${c} p2, p3 = r4\n"; }}print "\n";@mwh = ( "", ".sptk", ".dptk" );@ih = ( "", ".imp" );$LAB = 1;foreach $b ("", ".ret") { foreach $w (@mwh) { foreach $i (@ih) { print "\tmov${b}${w}${i} b3 = r4, .L${LAB}\n"; } print ".space 240\n"; print ".L${LAB}:\n"; ++$LAB; } print "\n";}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -