Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(345)

Unified Diff: src/trusted/validator_mips/mips-opt.table

Issue 9979025: [MIPS] Adding validator for MIPS architecture. (Closed) Base URL: http://src.chromium.org/native_client/trunk/src/native_client/
Patch Set: Rebased patch, conflict resolved. Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/trusted/validator_mips/inst_classes.h ('k') | src/trusted/validator_mips/mips32.table » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/trusted/validator_mips/mips-opt.table
diff --git a/src/trusted/validator_mips/mips-opt.table b/src/trusted/validator_mips/mips-opt.table
new file mode 100644
index 0000000000000000000000000000000000000000..278e730e2e59843c1ce56ae23ec95a96d40e5fad
--- /dev/null
+++ b/src/trusted/validator_mips/mips-opt.table
@@ -0,0 +1,318 @@
+# DO NOT EDIT: GENERATED CODE
+
+-- MIPS32 (See Table A.2)
+pat0(31:0)
+111000xxxxxxxxxxxxxxxxxxxxxxxxxx =StoreConditional
+010001xxxxxxxxxxxxxxxxxxxxxxxxxx ->cop1
+000000xxxxxxxxxxxxxxxxxxxxxxxxxx ->special
+000010xxxxxxxxxxxxxxxxxxxxxxxxxx =JmpImm
+011100xxxxxxxxxxxxxxxxxxxxxxxxxx ->special2
+11xx01xxxxxxxxxxxxxxxxxxxxxxxxxx =FPLoadStore
+11xx10xxxxxxxxxxxxxxxxxxxxxxxxxx =FPLoadStore
+100110xxxxxxxxxxxxxxxxxxxxxxxxxx =Load
+110000xxxxxxxxxxxxxxxxxxxxxxxxxx =Load
+10010xxxxxxxxxxxxxxxxxxxxxxxxxxx =Load
+1000xxxxxxxxxxxxxxxxxxxxxxxxxxxx =Load
+001110xxxxxxxxxxxxxxxxxxxxxxxxxx =Arithm2
+00110xxxxxxxxxxxxxxxxxxxxxxxxxxx =Arithm2
+0010xxxxxxxxxxxxxxxxxxxxxxxxxxxx =Arithm2
+011111xxxxxxxxxxxxxxxxxxxxxxxxxx ->special3
+0x010xxxxxxxxxxxxxxxxxxxxxxxxxxx =Branch
+001111xxxxxxxxxxxxxxxxxxxxxxxxxx ->arithm2_1
+000011xxxxxxxxxxxxxxxxxxxxxxxxxx =JalImm
+010010xxxxxxxxxxxxxxxxxxxxxxxxxx ->cop2
+0x011xxxxxxxxxxxxxxxxxxxxxxxxxxx ->branch_1
+010000xxxxxxxxxxxxxxxxxxxxxxxxxx ->cop0
+000001xxxxxxxxxxxxxxxxxxxxxxxxxx ->regimm
+011101xxxxxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+011110xxxxxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+10x111xxxxxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+10110xxxxxxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+11x100xxxxxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+0110xxxxxxxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+11xx11xxxxxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+010011xxxxxxxxxxxxxxxxxxxxxxxxxx ->cop1x
+101110xxxxxxxxxxxxxxxxxxxxxxxxxx =Store
+1010xxxxxxxxxxxxxxxxxxxxxxxxxxxx =Store
+
+-- special (See Table A.3)
+pat0(31:0)
+xxxxxxxxxxxxxxxxxxxxxxxxxx0100x1 ->mthi
+xxxxxxxxxxxxxxxxxxxxxxxxxx000110 ->srlv
+xxxxxxxxxxxxxxxxxxxxxxxxxx10101x ->arithm3_3
+xxxxxxxxxxxxxxxxxxxxxxxxxx100xxx ->arithm3_3
+xxxxxxxxxxxxxxxxxxxxxxxxxx001111 ->sync
+xxxxxxxxxxxxxxxxxxxxxxxxxx0110xx ->mult
+xxxxxxxxxxxxxxxxxxxxxxxxxx000010 ->srl
+xxxxxxxxxxxxxxxxxxxxxxxxxx000001 ->movci
+xxxxxxxxxxxxxxxxxxxxxxxxxx0100x0 ->mfhi
+xxxxxxxxxxxxxxxxxxxxxxxxxx001001 ->jalr
+xxxxxxxxxxxxxxxxxxxxxxxxxx001000 ->jr
+xxxxxxxxxxxxxxxxxxxxxxxxxx00x101 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx0011x0 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx11110x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx101x0x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx1x111x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx1110xx =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx01x1xx =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx110xxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx000100 ->arithm3_2
+xxxxxxxxxxxxxxxxxxxxxxxxxx000111 ->arithm3_2
+xxxxxxxxxxxxxxxxxxxxxxxxxx00101x ->arithm3_2
+xxxxxxxxxxxxxxxxxxxxxxxxxx000000 ->arithm3_1
+xxxxxxxxxxxxxxxxxxxxxxxxxx000011 ->arithm3_1
+
+-- regimm (See Table A.4)
+pat0(31:0)
+xxxxxxxxxxx000xxxxxxxxxxxxxxxxxx =Branch
+xxxxxxxxxxxx10xxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxxxxxxxxx1xxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxxxxxxx100xxxxxxxxxxxxxxxxxx =BranchAndLink
+
+-- special2 (See Table A.5)
+pat0(31:0)
+xxxxxxxxxxxxxxxxxxxxxxxxxx000x0x ->mult
+xxxxxxxxxxxxxxxxxxxxxxxxxx111111 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx000x11 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx00x110 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx0x1111 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxxx11110 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx10111x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx11110x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx0x110x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx100x1x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx10x10x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxxxx10xx =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxxx10xxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx000010 ->arithm3_2
+xxxxxxxxxxxxxxxxxxxxxxxxxx10000x ->arithm3_2
+
+-- special3 (See Table A.6)
+pat0(31:0)
+xxxxxxxxxxxxxxxxxxxxxxxxxx000x00 =ExtIns
+xxxxxxxxxxxxxxxxxxxxxxxxxx100000 ->bshfl
+xxxxxxxxxxxxxxxxxxxxxxxxxx111111 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx1000x1 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx10x111 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx1x1110 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx11110x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx000xx1 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxxx00x10 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx10x10x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx1x10xx =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx0x1xxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxxx10xxx =Forbidden
+
+-- movci (See Table A.7)
+pat0(31:0) pat1(31:0)
+xxxxxxxxxxxxxx1xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx00000xxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ~xxxxxxxxxxxxxxxxxxxxx00000xxxxxx =Forbidden
+xxxxxxxxxxxxxx0xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx00000xxxxxx =Arithm3
+
+-- srl (See Table A.8)
+pat0(31:0)
+~xxxxxx0000xxxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx0000xxxxxxxxxxxxxxxxxxxxxx =Arithm3
+
+-- srlv (See Table A.9)
+pat0(31:0)
+~xxxxxxxxxxxxxxxxxxxxx0000xxxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxx0000xxxxxxx =Arithm3
+
+-- bshfl (See Table A.10)
+pat0(31:0)
+xxxxxxxxxxxxxxxxxxxxx10111xxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxx00x11xxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxx0x110xxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxxx1111xxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxx1010xxxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxx00x0xxxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxx010xxxxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxxx110xxxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxx1x0x1xxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxx1xx10xxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxx00010xxxxxx ->arithm3_1
+xxxxxxxxxxxxxxxxxxxxx1x000xxxxxx ->arithm3_1
+
+-- cop0 (See Table A.11)
+pat0(31:0)
+xxxxxx01011xxxxxxxxxxxxxxxxxxxxx ->mfmc0
+xxxxxx10111xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx11110xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx01x10xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxxx1111xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx100x1xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx10x10xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx01x0xxxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx1x10xxxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx110xxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx00xxxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx10000xxxxxxxxxxxxxxxxxxxxx ->c0
+
+-- c0 (See Table A.12)
+pat0(31:0)
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+
+-- cop1 (See Table A.13)
+pat0(31:0)
+xxxxxx00000xxxxxxxxxxxxxxxxxxxxx ->mfc1
+xxxxxx00011xxxxxxxxxxxxxxxxxxxxx ->mfc1
+xxxxxx01000xxxxxxxxxxxxxxxxxxxxx ->bc1
+xxxxxx01111xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx00x01xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx010x1xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx0110xxxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx1001xxxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx0xx10xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx1110xxxxxxxxxxxxxxxxxxxxxx ->c1
+xxxxxx10x0xxxxxxxxxxxxxxxxxxxxxx ->c1
+xxxxxx1x11xxxxxxxxxxxxxxxxxxxxxx ->c1
+xxxxxx110xxxxxxxxxxxxxxxxxxxxxxx ->c1
+xxxxxx00100xxxxxxxxxxxxxxxxxxxxx ->mtc1
+xxxxxx00111xxxxxxxxxxxxxxxxxxxxx ->mtc1
+
+-- c1 (See Table A.14, A.15, A.16, A.17)
+pat0(31:0)
+xxxxxxxxxxxxxxxxxxxxxxxxxx101111 =Safe
+xxxxxxxxxxxxxxxxxxxxxxxxxx01001x =Safe
+xxxxxxxxxxxxxxxxxxxxxxxxxx10x110 =Safe
+xxxxxxxxxxxxxxxxxxxxxxxxxx10110x =Safe
+xxxxxxxxxxxxxxxxxxxxxxxxxx0000xx =Safe
+xxxxxxxxxxxxxxxxxxxxxxxxxx010101 ->fp
+xxxxxxxxxxxxxxxxxxxxxxxxxx010110 ->fp
+xxxxxxxxxxxxxxxxxxxxxxxxxx101000 ->fp
+xxxxxxxxxxxxxxxxxxxxxxxxxx0010xx ->fp
+xxxxxxxxxxxxxxxxxxxxxxxxxx100x0x ->fp
+xxxxxxxxxxxxxxxxxxxxxxxxxx00x1xx ->fp
+xxxxxxxxxxxxxxxxxxxxxxxxxx010001 ->movcf
+xxxxxxxxxxxxxxxxxxxxxxxxxx11xxxx ->c_cond_fmt
+xxxxxxxxxxxxxxxxxxxxxxxxxx011110 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx100111 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx101010 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx010x00 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx01x111 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx01110x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx10001x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx1010x1 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx0110xx =Forbidden
+
+-- movcf (See Table A.18)
+pat0(31:0)
+xxxxxxxxxxxxxx0xxxxxxxxxxxxxxxxx =Safe
+xxxxxxxxxxxxxx1xxxxxxxxxxxxxxxxx =Forbidden
+
+-- cop2 (See Table A.19)
+pat0(31:0)
+xxxxxx01000xxxxxxxxxxxxxxxxxxxxx ->bc2
+xxxxxx11110xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx010x1xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx01x10xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxxx1111xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxxx110xxxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx110xxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxxx0xxxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+
+-- cop1x (See Table A.20)
+pat0(31:0)
+xxxxxxxxxxxxxxxxxxxxxxxxxx110110 =Safe
+xxxxxxxxxxxxxxxxxxxxxxxxxxx11110 =Safe
+xxxxxxxxxxxxxxxxxxxxxxxxxx10x110 =Safe
+xxxxxxxxxxxxxxxxxxxxxxxxxx1xx00x =Safe
+xxxxxxxxxxxxxxxxxxxxxxxxxx110111 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxxx11111 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx10x111 =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx11010x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx0110xx =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxxx1110x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx10x10x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx010xxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx1xx01x =Forbidden
+xxxxxxxxxxxxxxxxxxxxxxxxxx00xxxx =Forbidden
+
+-- branch_1 (blez, bgtz, blezl, bgtzl)
+pat0(31:0)
+xxxxxxxxxxx00000xxxxxxxxxxxxxxxx =Branch
+~xxxxxxxxxxx00000xxxxxxxxxxxxxxxx =Forbidden
+
+-- arithm2_1 (lui)
+pat0(31:0)
+~xxxxxx00000xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx00000xxxxxxxxxxxxxxxxxxxxx =Arithm2
+
+-- arithm3_1 (sll, sra, wsbh, seb, seh)
+pat0(31:0)
+~xxxxxx00000xxxxxxxxxxxxxxxxxxxxx =Forbidden
+xxxxxx00000xxxxxxxxxxxxxxxxxxxxx =Arithm3
+
+-- arithm3_2 (sllv, srav, movz, movn, mul, clz, clo)
+pat0(31:0)
+~xxxxxxxxxxxxxxxxxxxxx00000xxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxx00000xxxxxx =Arithm3
+
+-- jr (jr)
+pat0(31:0) pat1(31:0)
+xxxxxx00000xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx000000000000000xxxxxx =NaClHalt
+~xxxxxx00000xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx000000000000000xxxxxx =JmpReg
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ~xxxxxxxxxxx000000000000000xxxxxx =Forbidden
+
+-- jalr (jalr)
+pat0(31:0) pat1(31:0)
+xxxxxxxxxxx00000xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx00000xxxxxx =JalReg
+~xxxxxxxxxxx00000xxxxxxxxxxxxxxxx ~xxxxxxxxxxxxxxxxxxxxx00000xxxxxx =Forbidden
+
+-- sync (sync)
+pat0(31:0)
+xxxxxx00000000000000000000xxxxxx =Safe
+~xxxxxx00000000000000000000xxxxxx =Forbidden
+
+-- mfhi (mfhi, mflo)
+pat0(31:0) pat1(31:0)
+~xxxxxx0000000000xxxxxxxxxxxxxxxx ~xxxxxxxxxxxxxxxxxxxxx00000xxxxxx =Forbidden
+xxxxxx0000000000xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx00000xxxxxx =Arithm3
+
+-- mthi (mthi, mtlo)
+pat0(31:0)
+xxxxxxxxxxx000000000000000xxxxxx =Safe
+~xxxxxxxxxxx000000000000000xxxxxx =Forbidden
+
+-- mult (mult, multu, div, divu, madd, maddu, msub, msubu)
+pat0(31:0)
+xxxxxxxxxxxxxxxx0000000000xxxxxx =Safe
+~xxxxxxxxxxxxxxxx0000000000xxxxxx =Forbidden
+
+-- arithm3_3 (add, addu, sub, subu, and, or, xor, nor, slt, sltu)
+pat0(31:0)
+~xxxxxxxxxxxxxxxxxxxxx00000xxxxxx =Forbidden
+xxxxxxxxxxxxxxxxxxxxx00000xxxxxx =Arithm3
+
+-- mfmc0 (di, ei)
+pat0(31:0)
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+
+-- mfc1 (mfc1, mfhc1)
+pat0(31:0)
+~xxxxxxxxxxxxxxxxxxxxx00000000000 =Forbidden
+xxxxxxxxxxxxxxxxxxxxx00000000000 =Arithm2
+
+-- mtc1 (mtc1, mthc1)
+pat0(31:0)
+xxxxxxxxxxxxxxxxxxxxx00000000000 =Safe
+~xxxxxxxxxxxxxxxxxxxxx00000000000 =Forbidden
+
+-- bc1 (bc1f, bc1t, bc1fl, bc1tl)
+pat0(31:0)
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx =Branch
+
+-- fp (sqrt.fmt, abs.fmt, mov.fmt, neg.fmt, round.l.fmt, trunc.l.fmt, ceil.l.fmt, floor.l.fmt, round.w.fmt, trunc.w.fmt, ceil.w.fmt, floor.w.fmt, recip.fmt, rsqrt.fmt, cvt.s.fmt, cvt.d.fmt, cvt.w.fmt, cvt.l.fmt, cvt.s.pl)
+pat0(31:0)
+xxxxxxxxxxx00000xxxxxxxxxxxxxxxx =Safe
+~xxxxxxxxxxx00000xxxxxxxxxxxxxxxx =Forbidden
+
+-- bc2 (bc2f, bc2t, bc2fl, bc2tl)
+pat0(31:0)
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx =Forbidden
+
+-- c_cond_fmt (c.cond.fmt)
+pat0(31:0)
+xxxxxxxxxxxxxxxxxxxxxxxx00xxxxxx =Safe
+~xxxxxxxxxxxxxxxxxxxxxxxx00xxxxxx =Forbidden
« no previous file with comments | « src/trusted/validator_mips/inst_classes.h ('k') | src/trusted/validator_mips/mips32.table » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698