[prev in list] [next in list] [prev in thread] [next in thread]
List: pcc-list
Subject: Re: long long to int/short/char conversions for powerpc
From: Gregory McGarry <greg () bitlynx ! com>
Date: 2007-11-14 4:05:30
Message-ID: D4EBAD3C-B52F-4F78-9F6E-56D4B94AE03D () bitlynx ! com
[Download RAW message or body]
> This adds conversions from (unsigned) long long to the other integer
> types. Does it look sensible?
>
> +/* convert (u)long long to (u)char */
> +{ SCONV, INAREG,
> + SBREG, TLONGLONG|TULONGLONG,
> + SAREG, TCHAR|TUCHAR,
> + NAREG|NASL|NSPECIAL, RESC1,
> + " andi. A1,AL,255" COM "(u)long long to (u)char\n",
> +},
The value must be sign extended for signed char.
> +/* convert (u)long long to (u)short */
> +{ SCONV, INAREG,
> + SBREG, TLONGLONG|TULONGLONG,
> + SAREG, TSHORT|TUSHORT,
> + NAREG|NASL|NSPECIAL, RESC1,
> + " andi. A1,AL,65535" COM "(u)long long to (u)short\n",
> +},
The value must be sign extended for signed short.
> +/* (u)long long to (u)char */
> +{ SCONV, INAREG,
> + SOREG, TLONGLONG|TULONGLONG,
> + SAREG, TCHAR|TUCHAR,
> + NASL|NAREG|NSPECIAL, RESC1,
> + " lwz A1,AL" COM "(u)long long to (u)char\n"
> + " andi. A1,A1,255\n",
> +},
The value must be sign extended for signed char.
> +/* (u)long long to (u)short */
> +{ SCONV, INAREG,
> + SOREG, TLONGLONG|TULONGLONG,
> + SAREG, TSHORT|TUSHORT,
> + NASL|NAREG|NSPECIAL, RESC1,
> + " lwz A1,AL" COM "(u)long long to (u)short\n"
> + " andi. A1,A1,65535\n",
> +},
The value must be sign extended for signed short.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic