Commit Graph

120 Commits (v2)
 

Author SHA1 Message Date
Bill Schmidt ece58121d7 Incorporate errata for "signed long" offsets
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
4 years ago
Bill Schmidt 149ebe734f Add PVIPR 1.0 Errata document
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
4 years ago
Jinsong Ji 685961196f Rebase to v2 4 years ago
Bill Schmidt abfbfce8c5 Review changes related to RFC 2602
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
4 years ago
Bill Schmidt dedea3224e Changes for RFC 2602, Vector Integer Multiply-Divide-Modulo
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
4 years ago
Bill Schmidt dece59320c Create workgroup draft with annotations of necessary changes.
Signed-off-by:  Bill Schmidt <wschmidt@linux.ibm.com>
4 years ago
Bill Schmidt a20ef9da2b Prepare for final publication
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
4 years ago
Bill Schmidt 9fe273cabd Add empty subtitle to avoid weird artifact in HTML header
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Bill Schmidt c2df43b6e1 vec_gb doesn't have endian considerations
Fixes #60.

Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Paul Clarke 20c9b737e3 Add example for vec_cnttz
Fixes #59

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Bill Schmidt 4a2bfc428e Set document to 1.0.0_prd3
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Paul Clarke db465c1266 Change references to intrinsics into links
Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Paul Clarke 3f20e7da56 Add examples for vec_unpack[hl]
Fixes #28.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Paul Clarke 73fc82ce13 Consistently specify type of input in examples
Change occurrences of "An example follows" to
"An example for input _i_ of type _t_ follows",
in cases where an intrinsic has more than one possible input type.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Paul Clarke 8495713af8 Add example for `vec_re`
Fixes #21.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Paul Clarke 2aa416198a Add example for `vec_parity_lsbb`
Fixes #19.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Paul Clarke 0d686a2a8f Add examples for "match" intrinsics
Add examples for
- `vec_first_match_index`
- `vec_first_match_index_or_eos`
- `vec_first_mismatch_index`
- `vec_first_mismatch_index_or_eos`

Also, `vec_first_match_index` implmentations in this document and
in GCC were behaving like `vec_first_match_or_eos_index`.
Correct this document.  GCC PR94833 was already opened.

Fixes #18.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Bill Schmidt 7cd2163641 Add LE implementations for vec_cnt[tl]z_lsbb
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Bill Schmidt af84de2d55 Add LE implementations for vec_cnt[tl]z_lsbb
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Paul Clarke c78c224df0 Clarify content regarding operators
- Explicitly mention that there are no default conversions.
- Clarify that binary operations are on like types.
- Clarify requirements for the ternary operator and add an example.

Asserting that the clarified content is clear enough,
Fixes #11.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Paul Clarke a87ff8bd02 Add example initializer for vector __int128
Since there isn't a straightforward way of initializing `__int128` type
variables, provide an example for initializing `vector __int128` here.

Fixes #10.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Paul Clarke 8ca90e8fd6 Add example for vec_bperm
vec_bperm is a challenge for showing an example using just tables,
but I've made an attempt.

Three tables are used:
- The values of the input vectors *a* and *b*.
- A zoomed in view of the last two bytes of *a* and the bit
  manipulations therein that leads to the intermediate result.
- The result vector *r*.

Only one example has been provided, but it's getting big.

Fixes #14.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Paul Clarke 4a1a0f6613 Add headers for new examples
In the absence of sufficient context, the new examples added to:
- vec_double{e,h,l,o}
- vec_permxor
- vec_pmsum_be
- vec_slv
- vec_srv
- vec_sum2s
- vec_sum4s
- vec_sums
- vec_unsigned{e,o}
may appear to be strictly big-endian.

Add headers to these examples showing the element indicies,
which hopefully provides sufficient context.

Fixes #44.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Bill Schmidt f754baafa3 Fix description of vec_bperm
Fixes #47.

Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Paul Clarke b3e24f0f1b Add examples for vec_extract_fp32_from_short{h,l}
Also added table headers to more clearly indicate element ordering.

Fixes #17.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Bill Schmidt 5945421289 Fix code generation for vec_pack_to_short_fp32
Fixes #45.
5 years ago
Paul Clarke abcf5fd283 Add examples for vec_double{e,h,l,o}
Fixes #16.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Paul Clarke 453d38c649 Add examples for vec_sum2s, vec_sum4s, vec_sums
Fixes #26.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Bill Schmidt 55cbd6a38d Add 'const' to vec_ld* and vec_xl* pointer arguments
Fixed #37.

Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Bill Schmidt ca8ef27c57 Change 1.0 to 1.7 for vec_unsigned[eo]
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Paul Clarke d8bf0dad66 Add examples for vec_unsigned{e,o}
Add simple examples for `vec_unsignede` and `vec_unsignedo`,
making sure to show undefined results and negative truncation.

Fixes #29.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Bill Schmidt d939b73aac Move the endian-sensitive built-in function table
Move the table so that it won't have a head-scratching location
in the HTML view.  Update it to add the first_match* and first_mismatch*
functions.

Fixed #39.

Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Paul Clarke 0cea5e8dd1 Fix return type for vec_permxor
The return type for `vec_permxor` which takes `vector signed char`
as inputs should also be `vector signed char`.

Fixes #38.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Bill Schmidt c952a73bb4 Improve section 2.7.3 with tables
Fixes #12.

Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Paul Clarke 5ab9ef6cce s/insruction/instruction/g
Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Bill Schmidt 914a28f0cd Fixed typo in column length in Table 2.3
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Bill Schmidt cd80528095 Add Table 2.3, Endian-Sensitive Built-In Functions
This fixes #7.

Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Paul Clarke a661a3a7f0 Add example for vec_pmsum_be
`vec_pmsum_be` is complex enough to warrant an example.

Fixes #33.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Paul Clarke ace0e99214 Add example for vec_permxor
`vec_permxor` is complex enough to warrant an example.

The table used is very wide. I squeezed it more by changing the names
of `index1` and `index2` to `x` and `y`, respectively.

Note: The table may still be too wide, as some additional warnings are
now generated during `mvn generate-sources`:
```
WARNING: Line 1 of a paragraph overflows the available area by more than 50 points. (See position 1:-1)
Apr 30, 2020 8:44:03 PM org.apache.fop.events.LoggingEventListener processEvent
WARNING: Line 1 of a paragraph overflows the available area by 468 millipoints. (See position 14259:-1)
Apr 30, 2020 8:44:03 PM org.apache.fop.events.LoggingEventListener processEvent
...
WARNING: span="inherit" on fo:block, but no explicit value found on the parent FO.
```

Fixes #20.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Bill Schmidt b47b40b21a Add pcv descriptions for vec_reve & vec_extract_fp32_from_short[hl] 5 years ago
Paul Clarke 7c3dacd77b Add border around new examples in vec_slv and vec_srv
Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Paul Clarke 3d79fb03c1 Add examples to vec_vslv and vec_vsrv
vec_vslv and vec_vsrv are confusing in their own right and even more
so because they operate only with big-endian semantics.

Some examples are warranted.

Note that the respective examples are arranged such that the impact of
shifting in zero bits has a visible impact.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago
Bill Schmidt 1dcb7e348e Wording change to avoid the word "map".
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Bill Schmidt b8e4e0494f Replace "instructions" with "operators".
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Bill Schmidt 27535dc833 Rewrite section 2.4 for #8.
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Bill Schmidt a2fbae6002 Add named constants to vec_test_data_class for #27.
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Bill Schmidt b956e4b0c7 Finished reordering function type signatures for #23.
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Bill Schmidt 09cb5dcfb7 Reorder some function signatures for #23, more to go.
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Bill Schmidt 2ff0ceff3b Fix issue #5 by adding information about XL compiler bug reporting.
Signed-off-by: Bill Schmidt <wschmidt@linux.ibm.com>
5 years ago
Paul Clarke 513de17330 Fix "Vector Registers as Part of VSRs" figure scaling
The "Vector Registers as Part of VSRs" figure was very large,
especially as it immediately follows an almost identical figure.

Before this change:
fig-fpr-vsr.png: PNG image data, 663 x 300...
fig-vr-vsr.png:  PNG image data, 1367 x 608...

After this change:
fig-fpr-vsr.png: PNG image data, 663 x 300...
fig-vr-vsr.png:  PNG image data, 645 x 287...

I chose this size because the actual side boundaries of the
table most closely match in size.

The scaling, using The GIMP, resulted in somewhat blurry lines,
but still quite clear enough, and good enough.

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
5 years ago