This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH/RFA] new builtin_type_{,u}int128
- To: Elena Zannoni <ezannoni at cygnus dot com>
- Subject: Re: [PATCH/RFA] new builtin_type_{,u}int128
- From: Jim Blandy <jimb at zwingli dot cygnus dot com>
- Date: 13 Nov 2001 12:13:10 -0500
- Cc: gdb-patches at sources dot redhat dot com
- References: <15345.16985.978540.369781@krustylu.cygnus.com>
[Get raw message]
Looks good to me.
Elena Zannoni <ezannoni@cygnus.com> writes:
>
>
> This patch adds new builtin types int128 and uint128 to Gdb.
>
> It allows gdb to deal with 128 bits wide registers, at least minimally.
>
> Elena
>
> 2001-11-13 Elena Zannoni <ezannoni@redhat.com>
>
> From Andrew Cagney <cagney@redhat.com>:
> * gdbtypes.h (builtin_type_int128, builtin_type_uint128): Declare.
> * gdbtypes.c (_initialize_gdbtypes, build_gdbtypes): Initialize
> new builtin types.
>
>
> Index: gdbtypes.h
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbtypes.h,v
> retrieving revision 1.16
> diff -u -p -r1.16 gdbtypes.h
> --- gdbtypes.h 2001/09/08 10:16:57 1.16
> +++ gdbtypes.h 2001/11/13 15:44:45
> @@ -897,6 +897,8 @@ extern struct type *builtin_type_int32;
> extern struct type *builtin_type_uint32;
> extern struct type *builtin_type_int64;
> extern struct type *builtin_type_uint64;
> +extern struct type *builtin_type_int128;
> +extern struct type *builtin_type_uint128;
>
> /* SIMD types. We inherit these names from GCC. */
> extern struct type *builtin_type_v4sf;
> Index: gdbtypes.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbtypes.c,v
> retrieving revision 1.26
> diff -u -p -r1.26 gdbtypes.c
> --- gdbtypes.c 2001/10/28 12:43:12 1.26
> +++ gdbtypes.c 2001/11/13 15:47:23
> @@ -67,6 +67,8 @@ struct type *builtin_type_int32;
> struct type *builtin_type_uint32;
> struct type *builtin_type_int64;
> struct type *builtin_type_uint64;
> +struct type *builtin_type_int128;
> +struct type *builtin_type_uint128;
> struct type *builtin_type_bool;
> struct type *builtin_type_v4sf;
> struct type *builtin_type_v4si;
> @@ -2931,6 +2933,14 @@ build_gdbtypes (void)
> init_type (TYPE_CODE_INT, 64 / 8,
> TYPE_FLAG_UNSIGNED,
> "uint64_t", (struct objfile *) NULL);
> + builtin_type_int128 =
> + init_type (TYPE_CODE_INT, 128 / 8,
> + 0,
> + "int128_t", (struct objfile *) NULL);
> + builtin_type_uint128 =
> + init_type (TYPE_CODE_INT, 128 / 8,
> + TYPE_FLAG_UNSIGNED,
> + "uint128_t", (struct objfile *) NULL);
> builtin_type_bool =
> init_type (TYPE_CODE_BOOL, TARGET_CHAR_BIT / TARGET_CHAR_BIT,
> 0,
> @@ -2944,7 +2954,6 @@ build_gdbtypes (void)
> &showlist);
> opaque_type_resolution = 1;
>
> -
> /* Build SIMD types. */
> builtin_type_v4sf
> = init_simd_type ("__builtin_v4sf", builtin_type_float, "f", 4);
> @@ -3035,6 +3044,8 @@ _initialize_gdbtypes (void)
> register_gdbarch_swap (&builtin_type_uint32, sizeof (struct type *), NULL);
> register_gdbarch_swap (&builtin_type_int64, sizeof (struct type *), NULL);
> register_gdbarch_swap (&builtin_type_uint64, sizeof (struct type *), NULL);
> + register_gdbarch_swap (&builtin_type_int128, sizeof (struct type *), NULL);
> + register_gdbarch_swap (&builtin_type_uint128, sizeof (struct type *), NULL);
> register_gdbarch_swap (&builtin_type_v4sf, sizeof (struct type *), NULL);
> register_gdbarch_swap (&builtin_type_v4si, sizeof (struct type *), NULL);
> register_gdbarch_swap (&builtin_type_v8qi, sizeof (struct type *), NULL);
>