)]}' { "commit": "d48d9c4a19f675a8a8d73d667eda85015faf1ace", "tree": "90a8de41656c9bc94ffbc2697af69c4426f3bf4e", "parents": [ "ea130f1b0a00e959b082751b4a4b151514cc3646" ], "author": { "name": "Paul E. Murphy", "email": "murp@ibm.com", "time": "Tue Dec 01 11:50:12 2020 -0600" }, "committer": { "name": "Lynn Boger", "email": "laboger@linux.vnet.ibm.com", "time": "Wed Mar 24 14:21:54 2021 +0000" }, "message": "ppc64asm,ppc64map: update for ISA 3.1\n\nLikewise, add all missing ISA 3.0 instructions.\n\nThis table is generated in a two-step process.\n\n1. Parse ISA 3.1 Appendix F.\n2. Scan ISA for descriptions\n3. Sort to match old ISA (and check for bugs)\n and append new insn to bottom\n\nA second patch will reformat these instructions into\na sorting order of the ISA 3.1 appendix F, that is\nby version then alphabetically. This intermediate\npatch ensures we don\u0027t regress, and helped catch\nquite a few ISA 3.1 typos.\n\nThe tooling is left in another repo, and is loosely\nbased on the spec.go tooling for ppc64.\n\nNotably, transaction memory instructions are effectively\nremoved in ISA 3.1, and some shuffling of descriptions\nhas result in cmp*/li/lis becoming extended mnemonics\ninstead, thus they go away. VLE/SPE/embedded instructions\nare also removed. They were never used, and have been\nremoved since ISA 3.0.\n\nSimilarly, the new ISA introduces prefixed instructions\nusing opcode 1. They are encoded like two instruction\nwords. However, it should be noted prefixes cannot be\napplied to any instruction, only those specifically\nenumerated in the documentation. Likewise, what would\nbe the primary opcode of the suffixed instruction is\nnot always identical to it\u0027s non-prefixed counterpart.\n\nA number of small changes have been made to the parser\nto accomodate new instructions and minor changes to\nexisting ones.\n\nNote, DCBI was a book iii-e instruction in ISA 2.07, and\nonly emulated on P8, and the opcode is reserved in newer\nISAs.\n\nNote, isel BI decoding is slightly different than gnu.\nIt is much more readable to decode like other condition\nregister BI fields. Similarly, paste. and mtfsf* like\ninstruction decoding is improved to match the newer ISA.\n\nNote, book ii extended mnemonics are mostly ignored.\nThese are inconsistently described in the documentation,\nand most should never appear in golang compiled code.\nWe do handle the exceptional cases for some, such as the\nhwsync/lwsync and the l*arx instructions.\n\nChange-Id: I41711807a5fbdbdd22a2bde4159a09dad5382691\nReviewed-on: https://go-review.googlesource.com/c/arch/+/298793\nReviewed-by: Lynn Boger \u003claboger@linux.vnet.ibm.com\u003e\nReviewed-by: Carlos Eduardo Seo \u003ccarlos.seo@linaro.org\u003e\nTrust: Carlos Eduardo Seo \u003ccarlos.seo@linaro.org\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "3173ab8eb2a4939bc4595b46c49432252a8a88b6", "old_mode": 33188, "old_path": "ppc64/pp64.csv", "new_id": "c5e4e2ddbb3e866ae7904066cbf8af34e2d45032", "new_mode": 33188, "new_path": "ppc64/pp64.csv" }, { "type": "modify", "old_id": "5f04ff40e450a5b9d4e58cd9f344086b4e1e7cd1", "old_mode": 33188, "old_path": "ppc64/ppc64asm/decode.go", "new_id": "cf56648b944eed911ed4528d49a6dd32758f98c4", "new_mode": 33188, "new_path": "ppc64/ppc64asm/decode.go" }, { "type": "modify", "old_id": "46317497459b072a77ffd8117fef993e13b2d97f", "old_mode": 33188, "old_path": "ppc64/ppc64asm/gnu.go", "new_id": "fa904aa51fc19057f307e87f48b8abbd03f3315e", "new_mode": 33188, "new_path": "ppc64/ppc64asm/gnu.go" }, { "type": "modify", "old_id": "870522a10b3637ab7cd045b8404398a6b5f9bfc7", "old_mode": 33188, "old_path": "ppc64/ppc64asm/inst.go", "new_id": "cfd6852ac9c7fa896c53740018dce3248932124e", "new_mode": 33188, "new_path": "ppc64/ppc64asm/inst.go" }, { "type": "modify", "old_id": "32340b6cae414d6b6c2bd62bcc58726450849df7", "old_mode": 33188, "old_path": "ppc64/ppc64asm/objdump_test.go", "new_id": "e89146e5f46c9a72e97949ddb68f506db36a4b40", "new_mode": 33188, "new_path": "ppc64/ppc64asm/objdump_test.go" }, { "type": "modify", "old_id": "48a4e9790aa3b8563b3b4946228edd434bb20d2d", "old_mode": 33188, "old_path": "ppc64/ppc64asm/plan9.go", "new_id": "89b917320a314ce45ac5928600f04a6348fcb38c", "new_mode": 33188, "new_path": "ppc64/ppc64asm/plan9.go" }, { "type": "modify", "old_id": "971816ddac6ad386a0619f10011bc9f7fe69dd34", "old_mode": 33188, "old_path": "ppc64/ppc64asm/tables.go", "new_id": "97f648dff08d38e05005a3cbdaf1afeba2695c33", "new_mode": 33188, "new_path": "ppc64/ppc64asm/tables.go" }, { "type": "modify", "old_id": "f46a616cc4b4f3f122c1a04422e43c1c033903ae", "old_mode": 33188, "old_path": "ppc64/ppc64asm/testdata/decode.txt", "new_id": "8ecbb9714a643ec092ff1300e883370148a55d80", "new_mode": 33188, "new_path": "ppc64/ppc64asm/testdata/decode.txt" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "5114eedf93a7be9bebfe51d499b32dea0c89461d", "new_mode": 33188, "new_path": "ppc64/ppc64asm/testdata/decode_generated.txt" }, { "type": "modify", "old_id": "482e6c713619730c2055060423484a5ad7aa49bd", "old_mode": 33188, "old_path": "ppc64/ppc64map/map.go", "new_id": "93460612a8b24903acaf77b75799066af72bfa25", "new_mode": 33188, "new_path": "ppc64/ppc64map/map.go" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "e7dada224a51963d6bc5ec609c8bdd47d9ba7cbd", "new_mode": 33188, "new_path": "ppc64/ppc64util/hack.h" }, { "type": "modify", "old_id": "df903fb7281e908afb49e557db9b8f2063dd5423", "old_mode": 33188, "old_path": "ppc64/ppc64util/util.go", "new_id": "b2f19103ba8d860d6bbd19d808f2bf26cc204d4e", "new_mode": 33188, "new_path": "ppc64/ppc64util/util.go" } ] }