diff --git a/Intrinsics_Reference/bk_main.xml b/Intrinsics_Reference/bk_main.xml index 18a2e52..0571abf 100644 --- a/Intrinsics_Reference/bk_main.xml +++ b/Intrinsics_Reference/bk_main.xml @@ -54,7 +54,7 @@ OpenPOWER Foundation - Revision 0.9.1 + Revision 0.9.2 OpenPOWER @@ -87,6 +87,17 @@ + + 2019-10-23 + + + + Version 0.9.2: Initial submission to OpenPOWER + Systems Software Workgroup. + + + + 2019-10-13 diff --git a/Intrinsics_Reference/ch_biendian.xml b/Intrinsics_Reference/ch_biendian.xml index 514650c..e54e075 100644 --- a/Intrinsics_Reference/ch_biendian.xml +++ b/Intrinsics_Reference/ch_biendian.xml @@ -132,7 +132,13 @@ vector double g = (vector double) { 3.5, -24.6 }; languages), these data types may be accessed based on the type names listed in when Power SIMD language extensions are enabled using either the - vector or __vector keywords. + vector or __vector keywords. Note + that the ELFv2 ABI for Power also includes a vector + _Float16 data type. However, no Power compilers have yet + implemented such a type, and it is not clear that this will + change anytime soon. Thus this document has removed the + vector _Float16 data type, and all intrinsics that + reference it. For the Fortran language, Vector of 1 signed quadword. - - - vector _Float16 - - - 16 - - - Quadword - - - Vector of 8 half-precision floats. - - vector float diff --git a/Intrinsics_Reference/ch_intro.xml b/Intrinsics_Reference/ch_intro.xml index 9111954..beeaf72 100644 --- a/Intrinsics_Reference/ch_intro.xml +++ b/Intrinsics_Reference/ch_intro.xml @@ -277,6 +277,14 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_intro"> + + + GCC's Assembler Syntax. Felix Cloutier. + + https://www.felixcloutier.com/documents/gcc-asm.html + + + diff --git a/Intrinsics_Reference/ch_techniques.xml b/Intrinsics_Reference/ch_techniques.xml index 1d91bd8..8706b28 100644 --- a/Intrinsics_Reference/ch_techniques.xml +++ b/Intrinsics_Reference/ch_techniques.xml @@ -173,7 +173,8 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_techniques"> your ideal performance. When that happens, the first thing you should do is report this to the compiler community! This will allow them to get the problem fixed in the next release of the - compiler. + compiler. See if you + need to report an issue. In the meanwhile, though, what are your options? As a @@ -192,8 +193,9 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="section_techniques"> best to look at existing examples to learn how to use it properly. However, there is a good introduction to inline assembly in Using the GNU Compiler - Collection (see ), - in section 6.47 at the time of this writing. + Collection, in section 6.47 at the time of this + writing. Felix Cloutier has also written a very nice guide. + See . If you write a function entirely in assembly, you are diff --git a/Intrinsics_Reference/ch_vec_reference.xml b/Intrinsics_Reference/ch_vec_reference.xml index 09ee225..970b1b6 100644 --- a/Intrinsics_Reference/ch_vec_reference.xml +++ b/Intrinsics_Reference/ch_vec_reference.xml @@ -12668,13 +12668,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Supported type signatures for vec_extract - + - @@ -12704,11 +12703,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Implementation - - - Restrictions - - @@ -12734,9 +12728,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> extsb r,t - - - @@ -12758,9 +12749,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vextublx t,b,a - - - @@ -12782,9 +12770,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vextublx t,b,a - - - @@ -12810,9 +12795,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> extsw r,u - - - @@ -12836,9 +12818,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vextuwlx r,t,a - - - @@ -12862,9 +12841,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vextuwlx r,t,a - - - @@ -12894,9 +12870,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - @@ -12926,9 +12899,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - @@ -12958,9 +12928,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - @@ -12986,9 +12953,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> extsh r,u - - - @@ -13012,9 +12976,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vextuhlx r,t,a - - - @@ -13038,9 +12999,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vextuhlx r,t,a - - - @@ -13068,9 +13026,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - @@ -13102,30 +13057,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - - - - - _Float16 - - - vector _Float16 - - - signed int - - - Not yet available - - - Not yet available - - - ISA 3.0 or later - Phased in - @@ -15209,156 +15140,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - vec_floath - Vector Convert High Elements to Float - - r = vec_floath (a) - - - Purpose: - Converts the first four elements of a vector of half-precision - floating-point numbers to a vector of single-precision floating-point - numbers. - - Result value: Elements 0 through 3 - of r are set to the converted values - of elements 0 through 3, respectively, of a. - Endian considerations: - The element numbering within a register is left-to-right for big-endian - targets, and right-to-left for little-endian targets. - - Notes: - No Power compilers yet support the vector _Float16 type, so this - interface is currently deferred. - - -
- Supported type signatures for vec_floath - - - - - - - - - - r - - - - - a - - - - Example Implementation - - - Restrictions - - - - - - - vector float - - - vector _Float16 - - - sample implementation TBD - - - ISA 3.0 or later - Deferred - - - - -
- - - - - - vec_floatl - Vector Convert Low Elements to Float - - r = vec_floatl (a) - - - Purpose: - Converts the last four elements of a vector of half-precision - floating-point numbers to a vector of single-precision floating-point - numbers. - - Result value: Elements 0 through 3 - of r are set to the converted values of - elements 4 through 7, respectively, of a. - Endian considerations: - The element numbering within a register is left-to-right for big-endian - targets, and right-to-left for little-endian targets. - - Notes: - No Power compilers yet support the vector _Float16 type, so this - interface is currently deferred. - - - - Supported type signatures for vec_floatl - - - - - - - - - - r - - - - - a - - - - Example Implementation - - - Restrictions - - - - - - - vector float - - - vector _Float16 - - - sample implementation TBD - - - ISA 3.0 or later - Deferred - - - - -
- -
- - vec_floato Vector Convert to Floating-Point in Odd Elements @@ -15694,22 +15475,15 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> The element numbering within a register is left-to-right for big-endian targets, and right-to-left for little-endian targets.
- Notes: - - - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. - - - The sample implementations are given for ISA 3.0 when c is a constant. For earlier target - architectures, or when c is - variable, less efficient sequences are required. The sample - implementations also assume that c - is in range; that is, any required modulus operations have - already been performed on the constant index. - - + Notes: The sample + implementations are given for ISA 3.0 when c is a constant. For earlier target + architectures, or when c is + variable, less efficient sequences are required. The sample + implementations also assume that c is in range; that is, any required + modulus operations have already been performed on the constant + index. @@ -15747,14 +15521,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Supported type signatures for vec_insert - + - @@ -15783,9 +15556,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example ISA 3.0 BE Implementation - - Restrictions - @@ -15814,9 +15584,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vinsertb r,t,c - - - @@ -15843,9 +15610,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vinsertb r,t,c - - - @@ -15872,9 +15636,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vinsertb r,t,c*4 - - - @@ -15901,9 +15662,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vinsertb r,t,c*4 - - - @@ -15930,9 +15688,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,t,a,1-c - - - @@ -15959,9 +15714,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,t,a,1-c - - - @@ -15988,9 +15740,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vinserth r,t,a,c*2 - - - @@ -16017,9 +15766,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vinserth r,t,a,c*2 - - - @@ -16048,9 +15794,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,b,a,1 [c=1] - - - @@ -16079,38 +15822,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxinsertw r/b,u,c*4 - - - - - - - vector _Float16 - - - _Float16 - - - vector _Float16 - - - signed int - - - - mtvsrwz t,b - vinserth r,t,a,(7-c)*2 - - - - - mtvsrd t,b - vinserth r,t,a,c*2 - - - - Deferred - @@ -16428,10 +16139,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. - Notes: No Power compilers yet - support the vector _Float16 type, so those interfaces are currently - deferred. - lvx @@ -16440,12 +16147,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_ld - + - @@ -16467,9 +16173,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example ISA 3.0 Implementation - - Restrictions - @@ -16478,7 +16181,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector bool char - any integral type + signed long long vector bool char * @@ -16488,16 +16191,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector signed char - any integral type + signed long long signed char * @@ -16507,16 +16207,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector signed char - any integral type + signed long long vector signed char * @@ -16526,16 +16223,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector unsigned char - any integral type + signed long long unsigned char * @@ -16545,16 +16239,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector unsigned char - any integral type + signed long long vector unsigned char * @@ -16564,16 +16255,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector bool int - any integral type + signed long long vector bool int * @@ -16583,16 +16271,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector signed int - any integral type + signed long long signed int * @@ -16602,16 +16287,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector signed int - any integral type + signed long long vector signed int * @@ -16621,16 +16303,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector unsigned int - any integral type + signed long long unsigned int * @@ -16640,16 +16319,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector unsigned int - any integral type + signed long long vector unsigned int * @@ -16659,16 +16335,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector signed __int128 - any integral type + signed long long signed __int128 * @@ -16678,16 +16351,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector signed __int128 - any integral type + signed long long vector signed __int128 * @@ -16697,16 +16367,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector unsigned __int128 - any integral type + signed long long unsigned __int128 * @@ -16716,16 +16383,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector unsigned __int128 - any integral type + signed long long vector unsigned __int128 * @@ -16735,16 +16399,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector bool long long - any integral type + signed long long vector bool long long * @@ -16754,16 +16415,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector signed long long - any integral type + signed long long signed long long * @@ -16773,16 +16431,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector signed long long - any integral type + signed long long vector signed long long * @@ -16792,16 +16447,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector unsigned long long - any integral type + signed long long unsigned long long * @@ -16811,16 +16463,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector unsigned long long - any integral type + signed long long vector unsigned long long * @@ -16830,16 +16479,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector pixel - any integral type + signed long long vector pixel * @@ -16849,16 +16495,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector bool short - any integral type + signed long long vector bool short * @@ -16868,16 +16511,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector signed short - any integral type + signed long long signed short * @@ -16887,16 +16527,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector signed short - any integral type + signed long long vector signed short * @@ -16906,16 +16543,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector unsigned short - any integral type + signed long long unsigned short * @@ -16925,16 +16559,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector unsigned short - any integral type + signed long long vector unsigned short * @@ -16944,16 +16575,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector double - any integral type + signed long long double * @@ -16963,16 +16591,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector double - any integral type + signed long long vector double * @@ -16982,16 +16607,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector float - any integral type + signed long long float * @@ -17001,16 +16623,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - vector float - any integral type + signed long long vector float * @@ -17020,47 +16639,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvx r,b,a - - - - - - - vector _Float16 - - - any integral type - - - _Float16 * - - - - lvx r,b,a - - - - Deferred - - - - - vector _Float16 - - - any integral type - - - vector _Float16 * - - - - lvx r,b,a - - - - Deferred - @@ -17146,7 +16724,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed char - any integral type + signed long long signed char * @@ -17162,7 +16740,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned char - any integral type + signed long long unsigned char * @@ -17178,7 +16756,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed int - any integral type + signed long long signed int * @@ -17194,7 +16772,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned int - any integral type + signed long long unsigned int * @@ -17210,7 +16788,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed short - any integral type + signed long long signed short * @@ -17226,7 +16804,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned short - any integral type + signed long long unsigned short * @@ -17242,7 +16820,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector float - any integral type + signed long long float * @@ -17281,10 +16859,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. - Notes: No Power compilers yet - support the vector _Float16 type, so those interfaces are currently - deferred. - lvxl @@ -17293,12 +16867,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_ldl - + - @@ -17320,9 +16893,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example ISA 3.0 Implementation - - Restrictions - @@ -17331,7 +16901,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector bool char - any integral type + signed long long vector bool char * @@ -17341,16 +16911,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector signed char - any integral type + signed long long signed char * @@ -17360,16 +16927,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector signed char - any integral type + signed long long vector signed char * @@ -17379,16 +16943,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector unsigned char - any integral type + signed long long unsigned char * @@ -17398,16 +16959,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector unsigned char - any integral type + signed long long vector unsigned char * @@ -17417,16 +16975,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector bool int - any integral type + signed long long vector bool int * @@ -17436,16 +16991,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector signed int - any integral type + signed long long signed int * @@ -17455,16 +17007,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector signed int - any integral type + signed long long vector signed int * @@ -17474,16 +17023,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector unsigned int - any integral type + signed long long unsigned int * @@ -17493,16 +17039,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector unsigned int - any integral type + signed long long vector unsigned int * @@ -17512,16 +17055,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector bool long long - any integral type + signed long long vector bool long long * @@ -17531,16 +17071,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector signed long long - any integral type + signed long long signed long long * @@ -17550,16 +17087,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector signed long long - any integral type + signed long long vector signed long long * @@ -17569,16 +17103,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector unsigned long long - any integral type + signed long long unsigned long long * @@ -17588,16 +17119,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector unsigned long long - any integral type + signed long long vector unsigned long long * @@ -17607,16 +17135,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector pixel - any integral type + signed long long vector pixel * @@ -17626,16 +17151,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector bool short - any integral type + signed long long vector bool short * @@ -17645,16 +17167,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector signed short - any integral type + signed long long signed short * @@ -17664,16 +17183,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector signed short - any integral type + signed long long vector signed short * @@ -17683,16 +17199,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector unsigned short - any integral type + signed long long unsigned short * @@ -17702,16 +17215,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector unsigned short - any integral type + signed long long vector unsigned short * @@ -17721,16 +17231,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector double - any integral type + signed long long double * @@ -17740,16 +17247,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector double - any integral type + signed long long vector double * @@ -17759,16 +17263,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector float - any integral type + signed long long float * @@ -17778,16 +17279,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - vector float - any integral type + signed long long vector float * @@ -17797,47 +17295,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lvxl r,b,a - - - - - - - vector _Float16 - - - any integral type - - - _Float16 * - - - - lvxl r,b,a - - - - Deferred - - - - - vector _Float16 - - - any integral type - - - vector _Float16 * - - - - lvxl r,b,a - - - - Deferred - @@ -18719,10 +18176,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> The element numbering within a register is left-to-right for big-endian targets, and right-to-left for little-endian targets. - Notes: - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. - vmrglb @@ -18755,13 +18208,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_mergeh - + - @@ -18785,9 +18237,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example BE Implementation - - Restrictions - @@ -18811,9 +18260,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrghb r,a,b - - - @@ -18835,9 +18281,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrghb r,a,b - - - @@ -18859,9 +18302,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrghb r,a,b - - - @@ -18883,9 +18323,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrghw r,a,b - - - @@ -18907,9 +18344,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrghw r,a,b - - - @@ -18931,9 +18365,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrghw r,a,b - - - @@ -18955,9 +18386,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,b,0 - - - @@ -18979,9 +18407,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,b,0 - - - @@ -19003,9 +18428,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,b,0 - - - @@ -19027,9 +18449,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrghh r,a,b - - - @@ -19051,9 +18470,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrghh r,a,b - - - @@ -19075,9 +18491,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrghh r,a,b - - - @@ -19099,9 +18512,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrghh r,a,b - - - @@ -19123,9 +18533,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,b,0 - - - @@ -19147,33 +18554,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrghw r,a,b - - - - - - - vector _Float16 - - - vector _Float16 - - - vector _Float16 - - - - vmrglh r,b,a - - - - - vmrghh r,a,b - - - - Deferred - @@ -19207,10 +18587,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> The element numbering within a register is left-to-right for big-endian targets, and right-to-left for little-endian targets. - Notes: - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. - vmrghb @@ -19243,13 +18619,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_mergel - + - @@ -19273,9 +18648,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example BE Implementation - - Restrictions - @@ -19299,9 +18671,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrglb r,a,b - - - @@ -19323,9 +18692,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrglb r,a,b - - - @@ -19347,9 +18713,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrglb r,a,b - - - @@ -19371,9 +18734,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrglw r,a,b - - - @@ -19395,9 +18755,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrglw r,a,b - - - @@ -19419,9 +18776,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrglw r,a,b - - - @@ -19443,9 +18797,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,b,3 - - - @@ -19467,9 +18818,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,b,3 - - - @@ -19491,9 +18839,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,b,3 - - - @@ -19515,9 +18860,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrglh r,a,b - - - @@ -19539,9 +18881,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrglh r,a,b - - - @@ -19563,10 +18902,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrglh r,a,b - - - - + vector unsigned short @@ -19587,9 +18923,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrglh r,a,b - - - @@ -19611,9 +18944,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,b,3 - - - @@ -19635,33 +18965,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrglw r,a,b - - - - - - - vector _Float16 - - - vector _Float16 - - - vector _Float16 - - - - vmrghh r,b,a - - - - - vmrglh r,a,b - - - - Deferred - @@ -23638,10 +22941,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> The element numbering within a register is left-to-right for big-endian targets, and right-to-left for little-endian targets. - Notes: - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. - vpkuhum @@ -23674,13 +22973,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_pack - - - - - - - + + + + + + @@ -23704,9 +23002,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example BE Implementation - - Restrictions - @@ -23730,9 +23025,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vpkuhum r,a,b - - - @@ -23754,9 +23046,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vpkuhum r,a,b - - - @@ -23778,9 +23067,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vpkuhum r,a,b - - - @@ -23802,9 +23088,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vpkudum r,a,b - - - @@ -23826,9 +23109,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vpkudum r,a,b - - - @@ -23850,9 +23130,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vpkudum r,a,b - - - @@ -23874,9 +23151,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vpkuwum r,a,b - - - @@ -23898,9 +23172,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vpkuwum r,a,b - - - @@ -23922,9 +23193,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vpkuwum r,a,b - - - @@ -23954,29 +23222,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vmrgew r,t,u - - - - - - - vector _Float16 - - - vector float - - - vector float - - - sample implementation TBD - - - sample implementation TBD - - - Deferred - @@ -24821,12 +24066,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> consistent across big- and little-endian if you violate this rule. - - - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. - - @@ -24840,14 +24079,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_perm - + - + - @@ -24876,9 +24114,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example BE Implementation - - Restrictions - @@ -24905,9 +24140,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -24932,9 +24164,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -24959,9 +24188,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -24986,9 +24212,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -25013,9 +24236,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -25040,9 +24260,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -25067,9 +24284,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -25094,9 +24308,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -25121,9 +24332,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -25148,9 +24356,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -25175,9 +24380,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -25202,9 +24404,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -25229,9 +24428,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -25256,9 +24452,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - @@ -25283,36 +24476,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm r,a,b,c - - - - - - - vector _Float16 - - - vector _Float16 - - - vector _Float16 - - - vector unsigned char - - - - vpermr r,b,a,c - - - - - vperm r,a,b,c - - - - Deferred - @@ -26046,12 +25209,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Notes: - - - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. - - The examples shown are for ISA 3.0. More complex sequences are @@ -26367,22 +25524,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> - - - vector _Float16 - - - vector _Float16 - - - - xxbrh r,a - - - - Deferred - -
@@ -26409,23 +25550,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> the correct permute control vector is used. Note that use of vpermr requires ISA 3.0.
- Notes: - - - - The example implementations assume that the permute control - vector for the vperm or vpermr instruction is in a register - identified by pcv. The value of pcv differs based on the - element size. - - - - - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. - - - + Notes: The example + implementations assume that the permute control vector for the + vperm or vpermr instruction is in a register identified by pcv. + The value of pcv differs based on the element size. + vperm @@ -26438,11 +25567,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Supported type signatures for vec_reve - + - @@ -26458,9 +25586,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example Implementation - - Restrictions - @@ -26476,9 +25601,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - @@ -26492,9 +25614,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - @@ -26508,9 +25627,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - @@ -26524,9 +25640,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - @@ -26540,9 +25653,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - @@ -26556,9 +25666,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - @@ -26572,9 +25679,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - @@ -26588,9 +25692,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - @@ -26604,9 +25705,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - @@ -26620,9 +25718,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - @@ -26636,9 +25731,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - @@ -26652,10 +25744,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - - + vector double @@ -26668,9 +25757,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - @@ -26684,25 +25770,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vperm[r] r,a,a,pcv - - - - - - - vector _Float16 - - - vector _Float16 - - - - vperm[r] r,a,a,pcv - - - - Deferred - @@ -27692,9 +26759,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. - Notes: - No Power compilers yet support the vector _Float16 type, so those - interfaces are currently deferred. xxsel @@ -27703,13 +26767,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_sel - + - @@ -27735,9 +26798,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example Implementation - - Restrictions - @@ -27759,9 +26819,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -27781,9 +26838,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -27803,9 +26857,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -27825,9 +26876,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -27847,9 +26895,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -27869,9 +26914,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -27891,9 +26933,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -27913,9 +26952,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -27935,9 +26971,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -27957,9 +26990,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -27979,9 +27009,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28001,9 +27028,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28023,9 +27047,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28045,9 +27066,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28067,9 +27085,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28089,9 +27104,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28111,9 +27123,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28133,9 +27142,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28155,9 +27161,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28177,9 +27180,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28199,9 +27199,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28221,9 +27218,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28243,10 +27237,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - - + vector unsigned short @@ -28265,9 +27256,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28287,9 +27275,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28309,9 +27294,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28331,9 +27313,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - @@ -28353,53 +27332,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxsel r,a,b,c - - - - - - - vector _Float16 - - - vector _Float16 - - - vector _Float16 - - - vector bool short - - - - xxsel r,a,b,c - - - - Deferred - - - - - vector _Float16 - - - vector _Float16 - - - vector _Float16 - - - vector unsigned short - - - - xxsel r,a,b,c - - - - Deferred - @@ -30471,9 +29403,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> The element numbering within a register is left-to-right for big-endian targets, and right-to-left for little-endian targets. - Notes: - No Power compilers yet support the vector _Float16 type, so those - interfaces are currently deferred. vspltb @@ -30494,13 +29423,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_splat - + - @@ -30526,9 +29454,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example BE Implementation - - Restrictions - @@ -30552,9 +29477,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vspltb r,a,b - - - @@ -30576,9 +29498,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vspltb r,a,b - - - @@ -30600,9 +29519,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vspltb r,a,b - - - @@ -30624,9 +29540,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxspltw r,a,b - - - @@ -30648,9 +29561,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxspltw r,a,b - - - @@ -30672,9 +29582,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxspltw r,a,b - - - @@ -30696,9 +29603,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,a,b - - - @@ -30720,9 +29624,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,a,b - - - @@ -30744,9 +29645,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,a,b - - - @@ -30768,9 +29666,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsplth r,a,b - - - @@ -30792,9 +29687,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsplth r,a,b - - - @@ -30816,9 +29708,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsplth r,a,b - - - @@ -30840,9 +29729,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsplth r,a,b - - - @@ -30864,9 +29750,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,a,b - - - @@ -30888,33 +29771,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxspltw r,a,b - - - - - - - vector _Float16 - - - vector _Float16 - - - const int - - - - vsplth r,a,7-b - - - - - vsplth r,a,b - - - - Deferred - @@ -31348,9 +30204,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. - Notes: - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. rlwinm @@ -31387,11 +30240,10 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_splats - + - @@ -31407,9 +30259,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example Implementation - - Restrictions - @@ -31427,9 +30276,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vspltb r,u,7 - - - @@ -31445,9 +30291,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vspltb r,u,7 - - - @@ -31462,9 +30305,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vspltb r,t,7 - - - @@ -31479,9 +30319,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vspltb r,t,7 - - - @@ -31496,9 +30333,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxspltw r,t,1 - - - @@ -31513,9 +30347,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxspltw r,t,1 - - - @@ -31530,9 +30361,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,t,t,0 - - - @@ -31547,9 +30375,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,t,t,0 - - - @@ -31565,9 +30390,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsplth r,u,3 - - - @@ -31583,9 +30405,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vsplth r,u,3 - - - @@ -31599,9 +30418,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxpermdi r,a,a,0 - - - @@ -31616,23 +30432,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xxspltw r,t,0 - - - - - - - vector _Float16 - - - _Float16 - - - sample implementation TBD - - - Deferred - @@ -32837,10 +31636,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. - Notes: No Power compilers yet - support the vector _Float16 type, so those interfaces are currently - deferred. - stvx @@ -32849,12 +31644,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_st - + - @@ -32876,9 +31670,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example ISA 3.0 Implementation - - Restrictions - @@ -32887,7 +31678,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector bool char - any integral type + signed long long vector bool char * @@ -32897,16 +31688,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector bool char - any integral type + signed long long signed char * @@ -32916,16 +31704,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector bool char - any integral type + signed long long unsigned char * @@ -32935,16 +31720,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector signed char - any integral type + signed long long signed char * @@ -32954,16 +31736,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector signed char - any integral type + signed long long vector signed char * @@ -32973,16 +31752,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector unsigned char - any integral type + signed long long unsigned char * @@ -32992,16 +31768,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector unsigned char - any integral type + signed long long vector unsigned char * @@ -33011,16 +31784,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector bool int - any integral type + signed long long vector bool int * @@ -33030,16 +31800,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector bool int - any integral type + signed long long signed int * @@ -33049,16 +31816,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector bool int - any integral type + signed long long unsigned int * @@ -33068,16 +31832,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector signed int - any integral type + signed long long signed int * @@ -33087,16 +31848,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector signed int - any integral type + signed long long vector signed int * @@ -33106,16 +31864,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector unsigned int - any integral type + signed long long unsigned int * @@ -33125,16 +31880,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector unsigned int - any integral type + signed long long vector unsigned int * @@ -33144,16 +31896,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector bool long long - any integral type + signed long long vector bool long long * @@ -33163,16 +31912,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector signed long long - any integral type + signed long long signed long long * @@ -33182,16 +31928,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector signed long long - any integral type + signed long long vector signed long long * @@ -33201,16 +31944,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector unsigned long long - any integral type + signed long long unsigned long long * @@ -33220,16 +31960,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector unsigned long long - any integral type + signed long long vector unsigned long long * @@ -33239,16 +31976,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector pixel - any integral type + signed long long vector pixel * @@ -33258,16 +31992,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector bool short - any integral type + signed long long vector bool short * @@ -33277,16 +32008,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector bool short - any integral type + signed long long signed short * @@ -33296,16 +32024,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector bool short - any integral type + signed long long unsigned short * @@ -33315,16 +32040,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector signed short - any integral type + signed long long signed short * @@ -33334,16 +32056,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector signed short - any integral type + signed long long vector signed short * @@ -33353,16 +32072,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector unsigned short - any integral type + signed long long unsigned short * @@ -33372,16 +32088,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector unsigned short - any integral type + signed long long vector unsigned short * @@ -33391,16 +32104,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector double - any integral type + signed long long double * @@ -33410,16 +32120,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector double - any integral type + signed long long vector double * @@ -33429,16 +32136,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector float - any integral type + signed long long float * @@ -33448,16 +32152,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - vector float - any integral type + signed long long vector float * @@ -33467,47 +32168,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvx r,b,a - - - - - - - vector _Float16 - - - any integral type - - - _Float16 * - - - - stvx r,b,a - - - - Deferred - - - - - vector _Float16 - - - any integral type - - - vector _Float16 * - - - - stvx r,b,a - - - - Deferred - @@ -33590,7 +32250,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector bool char - any integral type + signed long long signed char * @@ -33606,7 +32266,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector bool char - any integral type + signed long long unsigned char * @@ -33622,7 +32282,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed char - any integral type + signed long long signed char * @@ -33638,7 +32298,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned char - any integral type + signed long long unsigned char * @@ -33654,7 +32314,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector bool int - any integral type + signed long long signed int * @@ -33670,7 +32330,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector bool int - any integral type + signed long long unsigned int * @@ -33686,7 +32346,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed int - any integral type + signed long long signed int * @@ -33702,7 +32362,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned int - any integral type + signed long long unsigned int * @@ -33718,7 +32378,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector pixel - any integral type + signed long long signed short * @@ -33734,7 +32394,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector pixel - any integral type + signed long long unsigned short * @@ -33750,7 +32410,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector bool short - any integral type + signed long long signed short * @@ -33766,7 +32426,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector bool short - any integral type + signed long long unsigned short * @@ -33782,7 +32442,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed short - any integral type + signed long long signed short * @@ -33798,7 +32458,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector unsigned short - any integral type + signed long long unsigned short * @@ -33814,7 +32474,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector float - any integral type + signed long long float * @@ -33854,10 +32514,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. - Notes: No Power compilers yet - support the vector _Float16 type, so those interfaces are currently - deferred. - stvxl @@ -33866,12 +32522,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_stl - + - @@ -33893,9 +32548,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example ISA 3.0 Implementation - - Restrictions - @@ -33904,7 +32556,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector bool char - any integral type + signed long long vector bool char * @@ -33914,16 +32566,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector bool char - any integral type + signed long long signed char * @@ -33933,16 +32582,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector bool char - any integral type + signed long long unsigned char * @@ -33952,16 +32598,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector signed char - any integral type + signed long long signed char * @@ -33971,16 +32614,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector signed char - any integral type + signed long long vector signed char * @@ -33990,16 +32630,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector unsigned char - any integral type + signed long long unsigned char * @@ -34009,16 +32646,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector unsigned char - any integral type + signed long long vector unsigned char * @@ -34028,16 +32662,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector bool int - any integral type + signed long long vector bool int * @@ -34047,16 +32678,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector bool int - any integral type + signed long long signed int * @@ -34066,27 +32694,21 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector bool int - any integral type + signed long long unsigned int * - stvxl r,b,a - - - - + stvxl r,b,a + @@ -34094,7 +32716,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vector signed int - any integral type + signed long long signed int * @@ -34104,16 +32726,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector signed int - any integral type + signed long long vector signed int * @@ -34123,16 +32742,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector unsigned int - any integral type + signed long long unsigned int * @@ -34142,16 +32758,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector unsigned int - any integral type + signed long long vector unsigned int * @@ -34161,16 +32774,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector bool long long - any integral type + signed long long vector bool long long * @@ -34180,16 +32790,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector signed long long - any integral type + signed long long signed long long * @@ -34199,16 +32806,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector signed long long - any integral type + signed long long vector signed long long * @@ -34218,16 +32822,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector unsigned long long - any integral type + signed long long unsigned long long * @@ -34237,16 +32838,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector unsigned long long - any integral type + signed long long vector unsigned long long * @@ -34256,16 +32854,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector pixel - any integral type + signed long long vector pixel * @@ -34275,16 +32870,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector bool short - any integral type + signed long long vector bool short * @@ -34294,16 +32886,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector bool short - any integral type + signed long long signed short * @@ -34313,16 +32902,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector bool short - any integral type + signed long long unsigned short * @@ -34332,16 +32918,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector signed short - any integral type + signed long long signed short * @@ -34351,16 +32934,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector signed short - any integral type + signed long long vector signed short * @@ -34370,16 +32950,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector unsigned short - any integral type + signed long long unsigned short * @@ -34389,16 +32966,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector unsigned short - any integral type + signed long long vector unsigned short * @@ -34408,16 +32982,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector double - any integral type + signed long long double * @@ -34427,16 +32998,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector double - any integral type + signed long long vector double * @@ -34446,16 +33014,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector float - any integral type + signed long long float * @@ -34465,16 +33030,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - vector float - any integral type + signed long long vector float * @@ -34484,47 +33046,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stvxl r,b,a - - - - - - - vector _Float16 - - - any integral type - - - _Float16 * - - - - stvxl r,b,a - - - - Deferred - - - - - vector _Float16 - - - any integral type - - - vector _Float16 * - - - - stvxl r,b,a - - - - Deferred - @@ -36054,10 +34575,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> endian, these elements are in the rightmost half of the vector. For big endian, these elements are in the leftmost half of the vector. - Notes: - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. - vupklsh @@ -36102,12 +34619,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_unpackh - + - @@ -36128,9 +34644,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example BE Implementation - - Restrictions - @@ -36151,9 +34664,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupkhsh r,a - - - @@ -36172,9 +34682,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupkhsh r,a - - - @@ -36193,9 +34700,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupkhpx r,a - - - @@ -36214,9 +34718,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupkhsw r,a - - - @@ -36235,9 +34736,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupkhsw r,a - - - @@ -36256,9 +34754,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupkhsb r,a - - - @@ -36277,9 +34772,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupkhsb r,a - - - @@ -36302,26 +34794,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xvcvspdp r,u - - - - - - - vector float - - - vector _Float16 - - - [TBD] - - - [TBD] - - - Deferred - @@ -36386,10 +34858,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> endian, these elements are in the rightmost half of the vector. For big endian, these elements are in the leftmost half of the vector. - Notes: - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. - vupkhsh @@ -36434,12 +34902,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_unpackl - + - @@ -36460,9 +34927,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example BE Implementation - - Restrictions - @@ -36483,9 +34947,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupklsh r,a - - - @@ -36504,9 +34965,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupklsh r,a - - - @@ -36525,9 +34983,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupklpx r,a - - - @@ -36546,9 +35001,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupklsw r,a - - - @@ -36567,9 +35019,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupklsw r,a - - - @@ -36588,9 +35037,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupklsb r,a - - - @@ -36609,9 +35055,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> vupklsb r,a - - - @@ -36634,26 +35077,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> xvcvspdp r,u - - - - - - - vector float - - - vector _Float16 - - - [TBD] - - - [TBD] - - - Deferred - @@ -37067,16 +35490,19 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> For languages that support built-in methods for pointer - dereferencing, such as the C/C++ * and [ ] operators, use of the - native operators is encouraged when the memory to be accessed is - aligned on a 32-bit boundary or aligned to the type of b, whichever is weaker. + dereferencing, such as the C/C++ * and [ ] operators, use + of the native operators is encouraged when the memory to + be accessed is aligned on a 32-bit boundary or aligned to + the type of b, whichever + is weaker. - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. + GCC provides a commonly used synonym for vec_xl called + vec_vsx_ld. Although these have the same behavior, only + vec_xl is guaranteed to be portable across compliant + compilers. vec_xl should be preferred. @@ -37088,12 +35514,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_xl - + - @@ -37115,9 +35540,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example ISA 3.0 Implementation - - Restrictions - @@ -37136,9 +35558,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a(b) - - - @@ -37155,9 +35574,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a(b) - - - @@ -37174,9 +35590,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a(b) - - - @@ -37193,9 +35606,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a(b) - - - @@ -37212,9 +35622,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a(b) - - - @@ -37231,9 +35638,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a(b) - - - @@ -37250,9 +35654,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a(b) - - - @@ -37269,9 +35670,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a(b) - - - @@ -37281,92 +35679,61 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> signed long long - signed short * - - - - lxv r,a(b) - - - - - - - - - vector unsigned short - - - signed long long - - - unsigned short * + signed short * lxv r,a(b) - - - - vector double + vector unsigned short signed long long - double * + unsigned short * lxv r,a(b) - - - - vector float + vector double signed long long - float * + double * lxv r,a(b) - - - - vector _Float16 + vector float signed long long - _Float16 * + float * lxv r,a(b) - - Deferred - @@ -37398,9 +35765,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> the lowest-numbered element of r from the highest data address. - Notes: - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. lxvb16x @@ -37425,13 +35789,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_xl_be - + - @@ -37457,9 +35820,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example ISA 3.0 BE Implementation - - Restrictions - @@ -37483,9 +35843,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a,b - - - @@ -37507,9 +35864,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a,b - - - @@ -37531,9 +35885,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a,b - - - @@ -37555,9 +35906,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a,b - - - @@ -37579,9 +35927,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a,b - - - @@ -37603,9 +35948,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a,b - - - @@ -37627,9 +35969,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a,b - - - @@ -37651,9 +35990,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a,b - - - @@ -37675,9 +36011,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a,b - - - @@ -37699,9 +36032,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a,b - - - @@ -37723,9 +36053,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a,b - - - @@ -37747,33 +36074,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> lxv r,a,b - - - - - - - vector _Float16 - - - signed long long - - - _Float16 * - - - - lxvh8x r,a,b - - - - - lxv r,a,b - - - - Deferred - @@ -37808,20 +36108,8 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. - Notes: - - - - vec_xl_len should not be used to load from cache-inhibited memory. - - - - - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. - - - + Notes: vec_xl_len should + not be used to load from cache-inhibited memory. sldi @@ -38107,27 +36395,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> ISA 3.0 or later - - - vector _Float16 - - - _Float16 * - - - size_t - - - - sldi t,b,56 - lxvl r,a,t - - - - ISA 3.0 or later - Deferred - -
@@ -38554,16 +36821,19 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> For languages that support built-in methods for pointer - dereferencing, such as the C/C++ * and [ ] operators, use of the - native operators is encouraged when the memory to be accessed is - aligned on a 32-bit boundary or aligned to the type of b, whichever is weaker. + dereferencing, such as the C/C++ * and [ ] operators, use + of the native operators is encouraged when the memory to + be accessed is aligned on a 32-bit boundary or aligned to + the type of b, whichever + is weaker. - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. + GCC provides a commonly used synonym for vec_xst called + vec_vsx_st. Although these have the same behavior, only + vec_xst is guaranteed to be portable across compliant + compilers. vec_xst should be preferred. @@ -38575,12 +36845,11 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Supported type signatures for vec_xst - + - @@ -38602,9 +36871,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example ISA 3.0 Implementation - - Restrictions - @@ -38623,9 +36889,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b(c) - - - @@ -38642,9 +36905,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b(c) - - - @@ -38661,9 +36921,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b(c) - - - @@ -38680,9 +36937,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b(c) - - - @@ -38699,9 +36953,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b(c) - - - @@ -38718,9 +36969,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b(c) - - - @@ -38737,9 +36985,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b(c) - - - @@ -38756,9 +37001,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b(c) - - - @@ -38775,9 +37017,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b(c) - - - @@ -38794,9 +37033,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b(c) - - - @@ -38813,9 +37049,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b(c) - - - @@ -38832,28 +37065,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b(c) - - - - - - - vector _Float16 - - - signed long long - - - _Float16 * - - - - stxv a,b(c) - - - - Deferred - @@ -38885,9 +37096,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> the highest data address receives the lowest-numbered element of a. - Notes: - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. stxvb16x @@ -38912,13 +37120,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref">
Supported type signatures for vec_xst_be - + - @@ -38944,9 +37151,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Example ISA 3.0 BE Implementation - - Restrictions - @@ -38970,9 +37174,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b,c - - - @@ -38994,9 +37195,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b,c - - - @@ -39018,9 +37216,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b,c - - - @@ -39042,9 +37237,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b,c - - - @@ -39066,9 +37258,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b,c - - - @@ -39090,9 +37279,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b,c - - - @@ -39114,9 +37300,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b,c - - - @@ -39138,9 +37321,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b,c - - - @@ -39162,9 +37342,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b,c - - - @@ -39186,9 +37363,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b,c - - - @@ -39210,9 +37384,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b,c - - - @@ -39234,33 +37405,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> stxv a,b,c - - - - - - - vector _Float16 - - - signed long long - - - _Float16 * - - - - stxvb16x a,b,c - - - - - stxv a,b,c - - - - Deferred - @@ -39295,9 +37439,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> Endian considerations: None. - Notes: - No Power compilers yet support the vector _Float16 type, so that - interface is currently deferred. sldi @@ -39582,27 +37723,6 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="VIPR.vec-ref"> ISA 3.0 or later - - - vector _Float16 - - - _Float16 * - - - size_t - - - - sldi t,c,56 - stxvl a,b,t - - - - ISA 3.0 or later - Deferred - -