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 | 427ec7fa51318d7ceb44702b5426f84cf90d91d5 (patch) | |
tree | d37f64017f5169abdd4cc5720c7272ba0f70e18b /llvm/lib | |
parent | a8cc1ebae1cb55f0a846b6596c1536ab7b021b55 (diff) | |
download | bcm5719-llvm-427ec7fa51318d7ceb44702b5426f84cf90d91d5.tar.gz bcm5719-llvm-427ec7fa51318d7ceb44702b5426f84cf90d91d5.zip |
Readme
llvm-svn: 35533
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/Alpha/README.txt | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/llvm/lib/Target/Alpha/README.txt b/llvm/lib/Target/Alpha/README.txt index c4330351fff..9ae15174c58 100644 --- a/llvm/lib/Target/Alpha/README.txt +++ b/llvm/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 |