This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[fortran, patch] Add new bit intrinsics


The attached patch adds the remaining F2008 bit intrinsics: DSHIFTL, DSHIFTR, SHIFTA, SHIFTL, SHIFTR, MASKL, MASKR, BGE, BGT, BLE, BLT, and MERGE_BITS.

All come with compile-time simplification routines for constant arguments. Otherwise, all intrinsics are implemented by emitting the code directly from trans-intrinsic.c, without any library function. I have also gathered code-generating and simplification functions for the previsouly existing shift intrinsics (ISHFT, LSHIFT, RSHIFT; the last two currently don't have compile-time simplification).

I think all functions are thoroughly tested through multiple testcases.

Regtested on x86_64-linux (both -m32 and -m64), OK to commit?

FX


Attachment: bit_intrinsics.ChangeLog
Description: Binary data

Attachment: bit_intrinsics.diff
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]