Intrinsics reference: Some additional interfaces to standardize #1

Open
opened 7 years ago by wschmidt-ibm · 0 comments
wschmidt-ibm commented 7 years ago (Migrated from github.com)

XL has added the following interfaces, which should likely be mirrored by the other compilers and codified in the API.

vextsb2w:
vector signed int vec_extsbw (vector signed char)
vector signed int vec_extsbw (vector unsigned char)

vextsh2w:
vector signed int vec_extshw (vector signed short)
vector signed int vec_extshw (vector unsigned short)

vextsb2d:
vector signed long long vec_extsbd (vector signed char)
vector signed long long vec_extsbd (vector unsigned char)

vextsh2d:
vector signed long long vec_extshd (vector signed short)
vector signed long long vec_extshd (vector unsigned short)

vextsw2d:
vector signed long long vec_extswd (vector signed int)
vector unsigned long long vec_extswd (vector unsigned int)

bcdcfn.
vector unsigned char __builtin_national2packed(vector unsigned char, unsigned char)

bcdctn.
vector unsigned char __builtin_packed2national(vector unsigned char)

bcdctz.
vector unsigned char __builtin_packed2zoned(vector unsigned char, unsigned char)

bcdcfz.
vector unsigned char __builtin_zoned2packed(vector unsigned char, unsigned char)

bcdcpsgn.
vector unsigned char __builtin_bcdcopysign(vector unsigned char, vector unsigned char)

bcdsetsgn.
vector unsigned char __builtin_bcdsetsign(vector unsigned char, unsigned char)

bcdsr.
vector unsigned char __builtin_bcdshiftround(vector unsigned char, int, unsigned char)

bcds.
vector unsigned char __builtin_bcdshift(vector unsigned char, int, unsigned char)

bcdtrunc.
vector unsigned char __builtin_bcdtruncate(vector unsigned char, int, unsigned char)

bcdus.
vector unsigned char __builtin_bcdunsignedshift(vector unsigned char, int)

bcdutrunc.
vector unsigned char __builtin_bcdunsignedtruncate(vector unsigned char, int)

vmul10uq
vector unsigned char __builtin_bcdmul10 (vector unsigned char)

vmul10cuq
vector unsigned char __builtin_bcdmul10c (vector unsigned char)

vmul10euq
vector unsigned char __builtin_bcdmul10e (vector unsigned char, vector unsigned char)

vmul10ecuq
vector unsigned char __builtin_bcdmul10ec (vector unsigned char, vector unsigned char)

XL has added the following interfaces, which should likely be mirrored by the other compilers and codified in the API. vextsb2w: vector signed int vec_extsbw (vector signed char) vector signed int vec_extsbw (vector unsigned char) vextsh2w: vector signed int vec_extshw (vector signed short) vector signed int vec_extshw (vector unsigned short) vextsb2d: vector signed long long vec_extsbd (vector signed char) vector signed long long vec_extsbd (vector unsigned char) vextsh2d: vector signed long long vec_extshd (vector signed short) vector signed long long vec_extshd (vector unsigned short) vextsw2d: vector signed long long vec_extswd (vector signed int) vector unsigned long long vec_extswd (vector unsigned int) bcdcfn. vector unsigned char __builtin_national2packed(vector unsigned char, unsigned char) bcdctn. vector unsigned char __builtin_packed2national(vector unsigned char) bcdctz. vector unsigned char __builtin_packed2zoned(vector unsigned char, unsigned char) bcdcfz. vector unsigned char __builtin_zoned2packed(vector unsigned char, unsigned char) bcdcpsgn. vector unsigned char __builtin_bcdcopysign(vector unsigned char, vector unsigned char) bcdsetsgn. vector unsigned char __builtin_bcdsetsign(vector unsigned char, unsigned char) bcdsr. vector unsigned char __builtin_bcdshiftround(vector unsigned char, int, unsigned char) bcds. vector unsigned char __builtin_bcdshift(vector unsigned char, int, unsigned char) bcdtrunc. vector unsigned char __builtin_bcdtruncate(vector unsigned char, int, unsigned char) bcdus. vector unsigned char __builtin_bcdunsignedshift(vector unsigned char, int) bcdutrunc. vector unsigned char __builtin_bcdunsignedtruncate(vector unsigned char, int) vmul10uq vector unsigned char __builtin_bcdmul10 (vector unsigned char) vmul10cuq vector unsigned char __builtin_bcdmul10c (vector unsigned char) vmul10euq vector unsigned char __builtin_bcdmul10e (vector unsigned char, vector unsigned char) vmul10ecuq vector unsigned char __builtin_bcdmul10ec (vector unsigned char, vector unsigned char)
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: systemsoftware/Programming-Guides#1
Loading…
There is no content yet.