diff options
author | Andrew Lenharth <andrewl@lenharth.org> | 2007-03-31 15:05:44 +0000 |
---|---|---|
committer | Andrew Lenharth <andrewl@lenharth.org> | 2007-03-31 15:05:44 +0000 |
commit | a697b8d83db7965159b5110107e5f4cc8a412b68 (patch) | |
tree | 2f8c371f2ef385839b2a8d0de3bfffab449a8ecc /lib | |
parent | ad7baee241ac53da26fb48916c4025820a1451a8 (diff) | |
download | external_llvm-a697b8d83db7965159b5110107e5f4cc8a412b68.zip external_llvm-a697b8d83db7965159b5110107e5f4cc8a412b68.tar.gz external_llvm-a697b8d83db7965159b5110107e5f4cc8a412b68.tar.bz2 |
Readme
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35533 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/Alpha/README.txt | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/lib/Target/Alpha/README.txt b/lib/Target/Alpha/README.txt index c433035..9ae1517 100644 --- a/lib/Target/Alpha/README.txt +++ b/lib/Target/Alpha/README.txt @@ -1 +1,42 @@ -* EMPTY * +*** + +add gcc builtins for alpha instructions + + +*** + +custom expand byteswap into nifty +extract/insert/mask byte/word/longword/quadword low/high +sequences + +*** + +see if any of the extract/insert/mask operations can be added + +*** + +match more interesting things for cmovlbc cmovlbs (move if low bit clear/set) + +*** + +lower srem and urem + +remq(i,j): i - (j * divq(i,j)) if j != 0 +remqu(i,j): i - (j * divqu(i,j)) if j != 0 +reml(i,j): i - (j * divl(i,j)) if j != 0 +remlu(i,j): i - (j * divlu(i,j)) if j != 0 + +*** + +add crazy vector instructions (MVI): + +(MIN|MAX)(U|S)(B8|W4) min and max, signed and unsigned, byte and word +PKWB, UNPKBW pack/unpack word to byte +PKLB UNPKBL pack/unpack long to byte +PERR pixel error (sum accross bytes of bytewise abs(i8v8 a - i8v8 b)) + +cmpbytes bytewise cmpeq of i8v8 a and i8v8 b (not part of MVI extentions) + +this has some good examples for other operations that can be synthesised well +from these rather meager vector ops (such as saturating add). +http://www.alphalinux.org/docs/MVI-full.html |