)]}'
{
  "commit": "cb4ed2bee7bea6dbd4384b1f7af6493eaf7af5d1",
  "tree": "6aa913f19522ae86b14ac58a08c5a39a893415e7",
  "parents": [
    "fed7c3654c8d90e1bf6f5c3f498de789632c0e23"
  ],
  "author": {
    "name": "Nelson Chu",
    "email": "nelson@rivosinc.com",
    "time": "Wed Aug 20 17:47:14 2025 +0800"
  },
  "committer": {
    "name": "Nelson Chu",
    "email": "nelson@rivosinc.com",
    "time": "Wed Aug 20 18:02:49 2025 +0800"
  },
  "message": "RISC-V: PR33216, Fixed gcc testcases failed for commit 28520d7\n\nI made a stupid mistake in the commit 28520d7, allow to assemble slli/srli/srai\nwith 0 immediate to hint c.slli/c.srli/c.srai.  These hints will be regared as\nillegal instruction for gdb and qemu, so at least I got following gcc testcases\nfailed,\n\n                \u003d\u003d\u003d g++: Unexpected fails for rv64gc lp64d medlow \u003d\u003d\u003d\nFAIL: c-c++-common/torture/builtin-arith-overflow-17.c   -O0  execution test\nFAIL: c-c++-common/torture/builtin-arith-overflow-6.c   -O0  execution test\nFAIL: c-c++-common/torture/builtin-arith-overflow-p-17.c   -O0  execution test\nFAIL: c-c++-common/torture/builtin-arith-overflow-p-6.c   -O0  execution test\n\n                \u003d\u003d\u003d gfortran: Unexpected fails for rv64gc lp64d medlow \u003d\u003d\u003d\nFAIL: gfortran.dg/leadz_trailz_2.f90   -O0  execution test\n\n                \u003d\u003d\u003d gcc: Unexpected fails for rv64gc lp64d medlow \u003d\u003d\u003d\nFAIL: c-c++-common/torture/builtin-arith-overflow-17.c   -O0  execution test\nFAIL: c-c++-common/torture/builtin-arith-overflow-6.c   -O0  execution test\nFAIL: c-c++-common/torture/builtin-arith-overflow-p-17.c   -O0  execution test\nFAIL: c-c++-common/torture/builtin-arith-overflow-p-6.c   -O0  execution test\n\nSo we should just allow c.slli/c.srli/c.srai with zero immediate as hints, but\ndon\u0027t allow slli/srli/srai with zero immediate.\n\ngas/\n\tPR 33216\n\t* testsuite/gas/riscv/c-zero-imm.d: Only allow c.slli/c.srli/c.srai\n\twith zero immediate as hints, but don\u0027t allow slli/srli/srai with\n\tzero immediate.\n\t* testsuite/gas/riscv/c-zero-imm.s: Likewise.\nopcodes/\n\tPR 33216\n\t* riscv-opc.c (match_slli_as_c_slli): Added back.\n\t(match_srxi_as_c_srxi): Likewise.\n\t(riscv_opcodes): Only allow c.slli/c.srli/c.srai with zero immediate\n\tas hints, but don\u0027t allow slli/srli/srai with zero immediate.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "56274df70eec53a31d558222ab359a9131d02d08",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/riscv/c-zero-imm.d",
      "new_id": "c3bab3af546ff3c573cb55c35eafaa0087c52f39",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/c-zero-imm.d"
    },
    {
      "type": "modify",
      "old_id": "be7c82027faf44294025845893d332d5895bcc05",
      "old_mode": 33188,
      "old_path": "gas/testsuite/gas/riscv/c-zero-imm.s",
      "new_id": "54269cf901dc031fa923b5bc6a7dad8446fec09f",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/c-zero-imm.s"
    },
    {
      "type": "modify",
      "old_id": "b34fffed471130f5516c2dec34e72d05c18fcaab",
      "old_mode": 33188,
      "old_path": "opcodes/riscv-opc.c",
      "new_id": "e6fe5e9afbaefcd64b5ae62d375ce31f3c92c135",
      "new_mode": 33188,
      "new_path": "opcodes/riscv-opc.c"
    }
  ]
}
