)]}'
{
  "commit": "bef9e8e99a52584523554c354cebf2a67db9f5e8",
  "tree": "e6fa0b32470c2f9eec77fe1fb223e97a41fdfc79",
  "parents": [
    "1c6f598668e5b85d24e35cf97bd55da2898df502"
  ],
  "author": {
    "name": "Manjunath S Matti",
    "email": "mmatti@linux.ibm.com",
    "time": "Wed Jul 22 09:07:32 2026 -0500"
  },
  "committer": {
    "name": "Jeevitha",
    "email": "jeevitha@linux.ibm.com",
    "time": "Thu Jul 23 00:26:48 2026 -0500"
  },
  "message": "rs6000: Add the __dmr1024 opaque type.\n\nThe changes have been bootstrapped and regression tested on\npowerpc64le-linux.\n\nRegister __dmr1024 as a new 1024-bit opaque built-in type, following\nthe same pattern as the existing __vector_pair (OOmode) and\n__vector_quad (XOmode) opaque types.  __dmr1024 uses TDOmode, which\nwas already added in a previous commit (\"rs6000: Add TDOmode\nsupport\"), and is intended to hold the contents of a Dense Math\nRegister (DMR) when the Dense Math Facility (-mdense-math) is\nenabled.\n\n2026-07-22  Manjunath Matti  \u003cmmatti@linux.ibm.com\u003e\n\ngcc/\n\t* config/rs6000/rs6000.h (RS6000_BTI_dmr1024): New enumerator.\n\t(RS6000_BTI_ptr_dmr1024): New enumerator.\n\t(dmr1024_type_node): New macro.\n\t(ptr_dmr1024_type_node): New macro.\n\t* config/rs6000/rs6000-builtin.cc (rs6000_type_string): Handle\n\tdmr1024_type_node.\n\t(rs6000_init_builtins): Register the __dmr1024 opaque type and\n\tits pointer-to-const variant, with 512-bit alignment.\n\t* config/rs6000/rs6000.cc (rs6000_mangle_type): Handle\n\tdmr1024_type_node.\n\t(rs6000_invalid_conversion): Reject conversions to/from TDOmode.\n\t(rs6000_opaque_type_invalid_use_p): Gate __vector_quad and\n\t__vector_pair on TARGET_MMA and __dmr1024 on TARGET_DMF\n\tindependently, and require -mdense-math for __dmr1024.\n\ngcc/testsuite/\n\t* gcc.target/powerpc/dmr1024-alignment.c: New test case.\n\t* gcc.target/powerpc/dmr1024-compile.c: Likewise.\n\t* gcc.target/powerpc/dmr1024-invalid-use-1.c: Likewise.\n\t* gcc.target/powerpc/dmr1024-invalid-use-2.c: Likewise.\n\t* gcc.target/powerpc/dmf-no-mma.c: Likewise.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "806505220f291a3e129dc33d8f0745ed9f15a722",
      "old_mode": 33188,
      "old_path": "gcc/config/rs6000/rs6000-builtin.cc",
      "new_id": "4ecbbe43ba00349dbf369a34217988e57956a18c",
      "new_mode": 33188,
      "new_path": "gcc/config/rs6000/rs6000-builtin.cc"
    },
    {
      "type": "modify",
      "old_id": "8a0f52fd410e8d450462e6aca7596325d6138e19",
      "old_mode": 33188,
      "old_path": "gcc/config/rs6000/rs6000.cc",
      "new_id": "6ff877dac6c1af3e56e41ff9ca269f31b5f12ffc",
      "new_mode": 33188,
      "new_path": "gcc/config/rs6000/rs6000.cc"
    },
    {
      "type": "modify",
      "old_id": "420ab45af63874fe8c94eb1b9343651f22c67032",
      "old_mode": 33188,
      "old_path": "gcc/config/rs6000/rs6000.h",
      "new_id": "bcd4c39d24dca883d3107a5c5aa61f04687429f0",
      "new_mode": 33188,
      "new_path": "gcc/config/rs6000/rs6000.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3da0c8c601ec729e558b977a792b4caeef16d38c",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/powerpc/dmf-no-mma.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "147556c90e01a578f87585f209a0351b42817e9c",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/powerpc/dmr1024-alignment.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ae66738f026357a54c7f2ff1c7aa5d7558919ca",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/powerpc/dmr1024-compile.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dfd72bded7a35b767b881f11b7c50babd3831ec2",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/powerpc/dmr1024-invalid-use-1.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c814cf78827e8877e084d4818ff84ed2a02267a9",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.target/powerpc/dmr1024-invalid-use-2.c"
    }
  ]
}
