Commit Graph

103 Commits (7cd2163641f683819415bb0cb9be3f7ab3e5ceaf)
 

Author SHA1 Message Date
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
Bill Schmidt 2333bd8a72 Resolve a number of comments from Paul Clarke, and one from Steve Munroe. 5 years ago
Bill Schmidt a37fc120a3 Merge branch 'master' of https://github.com/OpenPOWERFoundation/Programming-Guides 5 years ago
Bill Schmidt 0bede8ab57 Add specification conformance section. 5 years ago
Jeff Scheel eef719cf08 Fix URL links with .pdf extensions by substituting "%2e" fore "."
Signed-of-by: Jeff Scheel <scheel@us.ibm.com>
5 years ago
Bill Schmidt a396c89802 Mark this document as Standard Track. 5 years ago
Bill Schmidt ac57cca111 Create revision 1.0.0-prd for public review draft. 5 years ago
Bill Schmidt 746882d59a Consistency of case for N-1 and Nth. 5 years ago
Bill Schmidt 5dd75e151c Changes for submission to OpenPOWER Systems SW Group. 5 years ago
Bill Schmidt dfe9f8430a Fix typos. 5 years ago
Bill Schmidt 295c2a5922 Make updates for comments received so far, including issue #4 and
issue #5.  XL bug report support for Linux is still pending.
5 years ago
Bill Schmidt b2e4fce15b Changed to consistently use Power versus POWER, Power ISA versus
PowerISA, etc.  Added graphic to vec_gb.
5 years ago
Bill Schmidt ec386314da Updated bk_main to show this as revision 0.9.1. 5 years ago
Bill Schmidt c4a37819ee Finish pages for vec_first_{,mis}match{,_eos}_index. 5 years ago
Bill Schmidt eebad714c0 Various clean-ups in the vector reference. A couple remain. 5 years ago
Bill Schmidt 2817b77c5a Finish all the front matter! 5 years ago
Bill Schmidt 7a3454dc78 Finish chapter 2. 5 years ago
Bill Schmidt c086fbb288 Significant updates to chapters 1-3. Delete old outline file. 5 years ago