Ping! Re: [PATCH, Fortran] DEC extra integer intrinsics

Fritz Reese fritzoreese@gmail.com
Mon Aug 1 18:47:00 GMT 2016


https://gcc.gnu.org/ml/fortran/2016-07/msg00091.html

On Mon, Jul 18, 2016 at 12:51 PM, Fritz Reese <fritzoreese@gmail.com> wrote:
> All,
>
> Attached is another extension patch introducing a new DEC
> compatibility flag -fdec-intrinsic-ints. With this flag the compiler
> recognizes the following variants for integer intrinsics which use a
> B/I/J/K prefix (with byte/integer/long/quad kind parameters):
>
> IABS (babs, iiabs, jiabs, kiabs)
> BTEST (bbtest, bitest, bjtest, bktest)
> IAND (biand, iiand, jiand, kiand)
> IBCLR (bbclr, iibclr, jibclr, kibclr)
> IBITS (bbits, iibits, jibits, kibits)
> IEOR (bieor, iieor, jieor, kieor)
> IOR (bior, iior, jior, kior)
> ISHFT (bshft, iishft, jishft, kishft)
> ISHFTC (bshftc, iishftc, jishftc, kishftc)
> MOD (bmod, imod, jmod, kmod)
> NOT (bnot, inot, jnot, knot)
> FLOAT (floati, floatj, floatk)
> MVBITS (bmvbits, imvbits, jmvbits, kmvbits)
>

Still waiting on a review for this patch. I can commit it after
approval. The patch just adds some extra intrinsic aliases (wrappers)
with slightly different names to indicate the intended kind of the
parameters. For example, IABS gains the wrappers BABS, IIABS, JIABS,
and KIABS, which accept types of integer kind 1, 2, 4, and 8
respectively. The purpose is for reverse-compatibility with older DEC
code that used these intrinsic aliases.

The patch, while annoyingly verbose, is mostly boilerplate code for
the new intrinsics and flag with documentation. Bootstraps and
regtests of course on x86_64-redhat-linux.

---
Fritz Reese



More information about the Fortran mailing list