[llvm-commits] [vector_llvm] CVS: llvm/include/VectorC/Intrinsics.h Makefile VectorC.h makedecls.pl triplet.h

Robert Bocchino bocchino at cs.uiuc.edu
Tue Oct 18 12:32:52 PDT 2005



Changes in directory llvm/include/VectorC:

Intrinsics.h added (r1.1.2.1)
Makefile added (r1.1.2.1)
VectorC.h added (r1.1.2.1)
makedecls.pl added (r1.1.2.1)
triplet.h added (r1.1.2.1)
---
Log message:

Initial commit of Vector LLVM.


---
Diffs of the changes:  (+460 -0)

 Intrinsics.h |   24 ++++
 Makefile     |    2 
 VectorC.h    |  347 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 makedecls.pl |   83 ++++++++++++++
 triplet.h    |    4 
 5 files changed, 460 insertions(+)


Index: llvm/include/VectorC/Intrinsics.h
diff -c /dev/null llvm/include/VectorC/Intrinsics.h:1.1.2.1
*** /dev/null	Tue Oct 18 14:32:50 2005
--- llvm/include/VectorC/Intrinsics.h	Tue Oct 18 14:32:40 2005
***************
*** 0 ****
--- 1,24 ----
+ // VectorC intrinsics
+ 
+ #ifndef INTRINSICS_H
+ #define INTRINSICS_H
+ 
+ short vectorc_adds_short(short, short);
+ short vllvm_adds_short(short,short);
+ 
+ short vectorc_subs_short(short, short);
+ short vllvm_subs_short(short,short);
+ 
+ unsigned char vectorc_saturate_short_unsigned_char(short);
+ unsigned char vllvm_saturate_short_uchar(short);
+ 
+ #define vectorc_mr_short(x, y) ((((x)*(y))+vllvm_fixed_vimm_short(1<<14,8))>>15)
+ #define vllvm_mr_short(x, y) ((((x)*(y))+vllvm_fixed_vimm_short(1<<14,8))>>15)
+ #define vectorc_mradds_short(x,y,z) vectorc_adds_short(vectorc_mr_short(x,y),z)
+ #define vllvm_mradds_short(x,y,z) vllvm_adds_short(vllvm_mr_short(x,y),z)
+ 
+ short vllvm_max_short(short, short);
+ unsigned short vllvm_subs_ushort(unsigned short, unsigned short);
+ short vllvm_min_short(short, short);
+ 
+ #endif


Index: llvm/include/VectorC/Makefile
diff -c /dev/null llvm/include/VectorC/Makefile:1.1.2.1
*** /dev/null	Tue Oct 18 14:32:51 2005
--- llvm/include/VectorC/Makefile	Tue Oct 18 14:32:40 2005
***************
*** 0 ****
--- 1,2 ----
+ VectorC.h : makedecls.pl
+ 	perl $< > $@
\ No newline at end of file


Index: llvm/include/VectorC/VectorC.h
diff -c /dev/null llvm/include/VectorC/VectorC.h:1.1.2.1
*** /dev/null	Tue Oct 18 14:32:51 2005
--- llvm/include/VectorC/VectorC.h	Tue Oct 18 14:32:40 2005
***************
*** 0 ****
--- 1,347 ----
+ // VectorC.h
+ // Header file for Vector C significant functions
+ // File autogenerated by makedecls.pl
+ 
+ typedef unsigned char uchar;
+ typedef unsigned short ushort;
+ typedef unsigned int uint;
+ int _vimm_int(int, unsigned);
+ int vllvm_vimm_int(int, unsigned);
+ unsigned int _vimm_unsigned_int(unsigned int, unsigned);
+ unsigned int vllvm_vimm_unsigned_int(unsigned int, unsigned);
+ unsigned int vllvm_vimm_uint(unsigned int, unsigned);
+ short _vimm_short(short, unsigned);
+ short vllvm_vimm_short(short, unsigned);
+ unsigned short _vimm_unsigned_short(unsigned short, unsigned);
+ unsigned short vllvm_vimm_unsigned_short(unsigned short, unsigned);
+ unsigned short vllvm_vimm_ushort(unsigned short, unsigned);
+ long _vimm_long(long, unsigned);
+ long vllvm_vimm_long(long, unsigned);
+ unsigned long _vimm_unsigned_long(unsigned long, unsigned);
+ unsigned long vllvm_vimm_unsigned_long(unsigned long, unsigned);
+ unsigned long vllvm_vimm_ulong(unsigned long, unsigned);
+ char _vimm_char(char, unsigned);
+ char vllvm_vimm_char(char, unsigned);
+ unsigned char _vimm_unsigned_char(unsigned char, unsigned);
+ unsigned char vllvm_vimm_unsigned_char(unsigned char, unsigned);
+ unsigned char vllvm_vimm_uchar(unsigned char, unsigned);
+ int _fixed_vimm_int(int, unsigned);
+ int vllvm_fixed_vimm_int(int, unsigned);
+ unsigned int _fixed_vimm_unsigned_int(unsigned int, unsigned);
+ unsigned int vllvm_fixed_vimm_unsigned_int(unsigned int, unsigned);
+ unsigned int vllvm_fixed_vimm_uint(unsigned int, unsigned);
+ short _fixed_vimm_short(short, unsigned);
+ short vllvm_fixed_vimm_short(short, unsigned);
+ unsigned short _fixed_vimm_unsigned_short(unsigned short, unsigned);
+ unsigned short vllvm_fixed_vimm_unsigned_short(unsigned short, unsigned);
+ unsigned short vllvm_fixed_vimm_ushort(unsigned short, unsigned);
+ long _fixed_vimm_long(long, unsigned);
+ long vllvm_fixed_vimm_long(long, unsigned);
+ unsigned long _fixed_vimm_unsigned_long(unsigned long, unsigned);
+ unsigned long vllvm_fixed_vimm_unsigned_long(unsigned long, unsigned);
+ unsigned long vllvm_fixed_vimm_ulong(unsigned long, unsigned);
+ char _fixed_vimm_char(char, unsigned);
+ char vllvm_fixed_vimm_char(char, unsigned);
+ unsigned char _fixed_vimm_unsigned_char(unsigned char, unsigned);
+ unsigned char vllvm_fixed_vimm_unsigned_char(unsigned char, unsigned);
+ unsigned char vllvm_fixed_vimm_uchar(unsigned char, unsigned);
+ int _vgather_int(const int*, ...);
+ int vllvm_vgather_int(const int*, ...);
+ unsigned int _vgather_unsigned_int(const unsigned int*, ...);
+ unsigned int vllvm_vgather_unsigned_int(const unsigned int*, ...);
+ unsigned int vllvm_vgather_uint(const unsigned int*, ...);
+ short _vgather_short(const short*, ...);
+ short vllvm_vgather_short(const short*, ...);
+ unsigned short _vgather_unsigned_short(const unsigned short*, ...);
+ unsigned short vllvm_vgather_unsigned_short(const unsigned short*, ...);
+ unsigned short vllvm_vgather_ushort(const unsigned short*, ...);
+ long _vgather_long(const long*, ...);
+ long vllvm_vgather_long(const long*, ...);
+ unsigned long _vgather_unsigned_long(const unsigned long*, ...);
+ unsigned long vllvm_vgather_unsigned_long(const unsigned long*, ...);
+ unsigned long vllvm_vgather_ulong(const unsigned long*, ...);
+ char _vgather_char(const char*, ...);
+ char vllvm_vgather_char(const char*, ...);
+ unsigned char _vgather_unsigned_char(const unsigned char*, ...);
+ unsigned char vllvm_vgather_unsigned_char(const unsigned char*, ...);
+ unsigned char vllvm_vgather_uchar(const unsigned char*, ...);
+ void _vscatter_int(int, int*, ...);
+ void vllvm_vscatter_int(int, int*, ...);
+ void _vscatter_unsigned_int(unsigned int, unsigned int*, ...);
+ void vllvm_vscatter_unsigned_int(unsigned int, unsigned int*, ...);
+ void vllvm_vscatter_uint(unsigned int, unsigned int*, ...);
+ void _vscatter_short(short, short*, ...);
+ void vllvm_vscatter_short(short, short*, ...);
+ void _vscatter_unsigned_short(unsigned short, unsigned short*, ...);
+ void vllvm_vscatter_unsigned_short(unsigned short, unsigned short*, ...);
+ void vllvm_vscatter_ushort(unsigned short, unsigned short*, ...);
+ void _vscatter_long(long, long*, ...);
+ void vllvm_vscatter_long(long, long*, ...);
+ void _vscatter_unsigned_long(unsigned long, unsigned long*, ...);
+ void vllvm_vscatter_unsigned_long(unsigned long, unsigned long*, ...);
+ void vllvm_vscatter_ulong(unsigned long, unsigned long*, ...);
+ void _vscatter_char(char, char*, ...);
+ void vllvm_vscatter_char(char, char*, ...);
+ void _vscatter_unsigned_char(unsigned char, unsigned char*, ...);
+ void vllvm_vscatter_unsigned_char(unsigned char, unsigned char*, ...);
+ void vllvm_vscatter_uchar(unsigned char, unsigned char*, ...);
+ int _load_int(const int*, unsigned, int);
+ int vllvm_load_int(const int*, unsigned, int);
+ unsigned int _load_unsigned_int(const unsigned int*, unsigned, int);
+ unsigned int vllvm_load_unsigned_int(const unsigned int*, unsigned, int);
+ unsigned int vllvm_load_uint(const unsigned int*, unsigned, int);
+ short _load_short(const short*, unsigned, int);
+ short vllvm_load_short(const short*, unsigned, int);
+ unsigned short _load_unsigned_short(const unsigned short*, unsigned, int);
+ unsigned short vllvm_load_unsigned_short(const unsigned short*, unsigned, int);
+ unsigned short vllvm_load_ushort(const unsigned short*, unsigned, int);
+ long _load_long(const long*, unsigned, int);
+ long vllvm_load_long(const long*, unsigned, int);
+ unsigned long _load_unsigned_long(const unsigned long*, unsigned, int);
+ unsigned long vllvm_load_unsigned_long(const unsigned long*, unsigned, int);
+ unsigned long vllvm_load_ulong(const unsigned long*, unsigned, int);
+ char _load_char(const char*, unsigned, int);
+ char vllvm_load_char(const char*, unsigned, int);
+ unsigned char _load_unsigned_char(const unsigned char*, unsigned, int);
+ unsigned char vllvm_load_unsigned_char(const unsigned char*, unsigned, int);
+ unsigned char vllvm_load_uchar(const unsigned char*, unsigned, int);
+ int _store_int(int, int*, int);
+ int vllvm_store_int(int, int*, int);
+ unsigned int _store_unsigned_int(unsigned int, unsigned int*, int);
+ unsigned int vllvm_store_unsigned_int(unsigned int, unsigned int*, int);
+ unsigned int vllvm_store_uint(unsigned int, unsigned int*, int);
+ short _store_short(short, short*, int);
+ short vllvm_store_short(short, short*, int);
+ unsigned short _store_unsigned_short(unsigned short, unsigned short*, int);
+ unsigned short vllvm_store_unsigned_short(unsigned short, unsigned short*, int);
+ unsigned short vllvm_store_ushort(unsigned short, unsigned short*, int);
+ long _store_long(long, long*, int);
+ long vllvm_store_long(long, long*, int);
+ unsigned long _store_unsigned_long(unsigned long, unsigned long*, int);
+ unsigned long vllvm_store_unsigned_long(unsigned long, unsigned long*, int);
+ unsigned long vllvm_store_ulong(unsigned long, unsigned long*, int);
+ char _store_char(char, char*, int);
+ char vllvm_store_char(char, char*, int);
+ unsigned char _store_unsigned_char(unsigned char, unsigned char*, int);
+ unsigned char vllvm_store_unsigned_char(unsigned char, unsigned char*, int);
+ unsigned char vllvm_store_uchar(unsigned char, unsigned char*, int);
+ int _vselect_int(int, int, int);
+ int vllvm_vselect_int(int, int, int);
+ unsigned int _vselect_unsigned_int(int, unsigned int, unsigned int);
+ unsigned int vllvm_vselect_unsigned_int(int, unsigned int, unsigned int);
+ unsigned int vllvm_vselect_uint(int, unsigned int, unsigned int);
+ short _vselect_short(int, short, short);
+ short vllvm_vselect_short(int, short, short);
+ unsigned short _vselect_unsigned_short(int, unsigned short, unsigned short);
+ unsigned short vllvm_vselect_unsigned_short(int, unsigned short, unsigned short);
+ unsigned short vllvm_vselect_ushort(int, unsigned short, unsigned short);
+ long _vselect_long(int, long, long);
+ long vllvm_vselect_long(int, long, long);
+ unsigned long _vselect_unsigned_long(int, unsigned long, unsigned long);
+ unsigned long vllvm_vselect_unsigned_long(int, unsigned long, unsigned long);
+ unsigned long vllvm_vselect_ulong(int, unsigned long, unsigned long);
+ char _vselect_char(int, char, char);
+ char vllvm_vselect_char(int, char, char);
+ unsigned char _vselect_unsigned_char(int, unsigned char, unsigned char);
+ unsigned char vllvm_vselect_unsigned_char(int, unsigned char, unsigned char);
+ unsigned char vllvm_vselect_uchar(int, unsigned char, unsigned char);
+ int _extract_int(int, unsigned, unsigned, unsigned);
+ int vllvm_extract_int(int, unsigned, unsigned, unsigned);
+ unsigned int _extract_unsigned_int(unsigned int, unsigned, unsigned, unsigned);
+ unsigned int vllvm_extract_unsigned_int(unsigned int, unsigned, unsigned, unsigned);
+ unsigned int vllvm_extract_uint(unsigned int, unsigned, unsigned, unsigned);
+ short _extract_short(short, unsigned, unsigned, unsigned);
+ short vllvm_extract_short(short, unsigned, unsigned, unsigned);
+ unsigned short _extract_unsigned_short(unsigned short, unsigned, unsigned, unsigned);
+ unsigned short vllvm_extract_unsigned_short(unsigned short, unsigned, unsigned, unsigned);
+ unsigned short vllvm_extract_ushort(unsigned short, unsigned, unsigned, unsigned);
+ long _extract_long(long, unsigned, unsigned, unsigned);
+ long vllvm_extract_long(long, unsigned, unsigned, unsigned);
+ unsigned long _extract_unsigned_long(unsigned long, unsigned, unsigned, unsigned);
+ unsigned long vllvm_extract_unsigned_long(unsigned long, unsigned, unsigned, unsigned);
+ unsigned long vllvm_extract_ulong(unsigned long, unsigned, unsigned, unsigned);
+ char _extract_char(char, unsigned, unsigned, unsigned);
+ char vllvm_extract_char(char, unsigned, unsigned, unsigned);
+ unsigned char _extract_unsigned_char(unsigned char, unsigned, unsigned, unsigned);
+ unsigned char vllvm_extract_unsigned_char(unsigned char, unsigned, unsigned, unsigned);
+ unsigned char vllvm_extract_uchar(unsigned char, unsigned, unsigned, unsigned);
+ int _combine_int(int, int, unsigned, unsigned);
+ int vllvm_combine_int(int, int, unsigned, unsigned);
+ unsigned int _combine_unsigned_int(unsigned int, unsigned int, unsigned, unsigned);
+ unsigned int vllvm_combine_unsigned_int(unsigned int, unsigned int, unsigned, unsigned);
+ unsigned int vllvm_combine_uint(unsigned int, unsigned int, unsigned, unsigned);
+ short _combine_short(short, short, unsigned, unsigned);
+ short vllvm_combine_short(short, short, unsigned, unsigned);
+ unsigned short _combine_unsigned_short(unsigned short, unsigned short, unsigned, unsigned);
+ unsigned short vllvm_combine_unsigned_short(unsigned short, unsigned short, unsigned, unsigned);
+ unsigned short vllvm_combine_ushort(unsigned short, unsigned short, unsigned, unsigned);
+ long _combine_long(long, long, unsigned, unsigned);
+ long vllvm_combine_long(long, long, unsigned, unsigned);
+ unsigned long _combine_unsigned_long(unsigned long, unsigned long, unsigned, unsigned);
+ unsigned long vllvm_combine_unsigned_long(unsigned long, unsigned long, unsigned, unsigned);
+ unsigned long vllvm_combine_ulong(unsigned long, unsigned long, unsigned, unsigned);
+ char _combine_char(char, char, unsigned, unsigned);
+ char vllvm_combine_char(char, char, unsigned, unsigned);
+ unsigned char _combine_unsigned_char(unsigned char, unsigned char, unsigned, unsigned);
+ unsigned char vllvm_combine_unsigned_char(unsigned char, unsigned char, unsigned, unsigned);
+ unsigned char vllvm_combine_uchar(unsigned char, unsigned char, unsigned, unsigned);
+ int _fixed_combine_int(int, unsigned, int, unsigned, unsigned, unsigned);
+ int vllvm_fixed_combine_int(int, unsigned, int, unsigned, unsigned, unsigned);
+ unsigned int _fixed_combine_unsigned_int(unsigned int, unsigned, unsigned int, unsigned, unsigned, unsigned);
+ unsigned int vllvm_fixed_combine_unsigned_int(unsigned int, unsigned, unsigned int, unsigned, unsigned, unsigned);
+ unsigned int vllvm_fixed_combine_uint(unsigned int, unsigned, unsigned int, unsigned, unsigned, unsigned);
+ short _fixed_combine_short(short, unsigned, short, unsigned, unsigned, unsigned);
+ short vllvm_fixed_combine_short(short, unsigned, short, unsigned, unsigned, unsigned);
+ unsigned short _fixed_combine_unsigned_short(unsigned short, unsigned, unsigned short, unsigned, unsigned, unsigned);
+ unsigned short vllvm_fixed_combine_unsigned_short(unsigned short, unsigned, unsigned short, unsigned, unsigned, unsigned);
+ unsigned short vllvm_fixed_combine_ushort(unsigned short, unsigned, unsigned short, unsigned, unsigned, unsigned);
+ long _fixed_combine_long(long, unsigned, long, unsigned, unsigned, unsigned);
+ long vllvm_fixed_combine_long(long, unsigned, long, unsigned, unsigned, unsigned);
+ unsigned long _fixed_combine_unsigned_long(unsigned long, unsigned, unsigned long, unsigned, unsigned, unsigned);
+ unsigned long vllvm_fixed_combine_unsigned_long(unsigned long, unsigned, unsigned long, unsigned, unsigned, unsigned);
+ unsigned long vllvm_fixed_combine_ulong(unsigned long, unsigned, unsigned long, unsigned, unsigned, unsigned);
+ char _fixed_combine_char(char, unsigned, char, unsigned, unsigned, unsigned);
+ char vllvm_fixed_combine_char(char, unsigned, char, unsigned, unsigned, unsigned);
+ unsigned char _fixed_combine_unsigned_char(unsigned char, unsigned, unsigned char, unsigned, unsigned, unsigned);
+ unsigned char vllvm_fixed_combine_unsigned_char(unsigned char, unsigned, unsigned char, unsigned, unsigned, unsigned);
+ unsigned char vllvm_fixed_combine_uchar(unsigned char, unsigned, unsigned char, unsigned, unsigned, unsigned);
+ int _extractelement_int(int, unsigned);
+ int vllvm_extractelement_int(int, unsigned);
+ unsigned int _extractelement_unsigned_int(unsigned int, unsigned);
+ unsigned int vllvm_extractelement_unsigned_int(unsigned int, unsigned);
+ unsigned int vllvm_extractelement_uint(unsigned int, unsigned);
+ short _extractelement_short(short, unsigned);
+ short vllvm_extractelement_short(short, unsigned);
+ unsigned short _extractelement_unsigned_short(unsigned short, unsigned);
+ unsigned short vllvm_extractelement_unsigned_short(unsigned short, unsigned);
+ unsigned short vllvm_extractelement_ushort(unsigned short, unsigned);
+ long _extractelement_long(long, unsigned);
+ long vllvm_extractelement_long(long, unsigned);
+ unsigned long _extractelement_unsigned_long(unsigned long, unsigned);
+ unsigned long vllvm_extractelement_unsigned_long(unsigned long, unsigned);
+ unsigned long vllvm_extractelement_ulong(unsigned long, unsigned);
+ char _extractelement_char(char, unsigned);
+ char vllvm_extractelement_char(char, unsigned);
+ unsigned char _extractelement_unsigned_char(unsigned char, unsigned);
+ unsigned char vllvm_extractelement_unsigned_char(unsigned char, unsigned);
+ unsigned char vllvm_extractelement_uchar(unsigned char, unsigned);
+ int _combineelement_int(int, int, unsigned);
+ int vllvm_combineelement_int(int, int, unsigned);
+ unsigned int _combineelement_unsigned_int(unsigned int, unsigned int, unsigned);
+ unsigned int vllvm_combineelement_unsigned_int(unsigned int, unsigned int, unsigned);
+ unsigned int vllvm_combineelement_uint(unsigned int, unsigned int, unsigned);
+ short _combineelement_short(short, short, unsigned);
+ short vllvm_combineelement_short(short, short, unsigned);
+ unsigned short _combineelement_unsigned_short(unsigned short, unsigned short, unsigned);
+ unsigned short vllvm_combineelement_unsigned_short(unsigned short, unsigned short, unsigned);
+ unsigned short vllvm_combineelement_ushort(unsigned short, unsigned short, unsigned);
+ long _combineelement_long(long, long, unsigned);
+ long vllvm_combineelement_long(long, long, unsigned);
+ unsigned long _combineelement_unsigned_long(unsigned long, unsigned long, unsigned);
+ unsigned long vllvm_combineelement_unsigned_long(unsigned long, unsigned long, unsigned);
+ unsigned long vllvm_combineelement_ulong(unsigned long, unsigned long, unsigned);
+ char _combineelement_char(char, char, unsigned);
+ char vllvm_combineelement_char(char, char, unsigned);
+ unsigned char _combineelement_unsigned_char(unsigned char, unsigned char, unsigned);
+ unsigned char vllvm_combineelement_unsigned_char(unsigned char, unsigned char, unsigned);
+ unsigned char vllvm_combineelement_uchar(unsigned char, unsigned char, unsigned);
+ int _constant_int(int, ...);
+ int vllvm_constant_int(int, ...);
+ unsigned int _constant_unsigned_int(unsigned int, ...);
+ unsigned int vllvm_constant_unsigned_int(unsigned int, ...);
+ unsigned int vllvm_constant_uint(unsigned int, ...);
+ short _constant_short(short, ...);
+ short vllvm_constant_short(short, ...);
+ unsigned short _constant_unsigned_short(unsigned short, ...);
+ unsigned short vllvm_constant_unsigned_short(unsigned short, ...);
+ unsigned short vllvm_constant_ushort(unsigned short, ...);
+ long _constant_long(long, ...);
+ long vllvm_constant_long(long, ...);
+ unsigned long _constant_unsigned_long(unsigned long, ...);
+ unsigned long vllvm_constant_unsigned_long(unsigned long, ...);
+ unsigned long vllvm_constant_ulong(unsigned long, ...);
+ char _constant_char(char, ...);
+ char vllvm_constant_char(char, ...);
+ unsigned char _constant_unsigned_char(unsigned char, ...);
+ unsigned char vllvm_constant_unsigned_char(unsigned char, ...);
+ unsigned char vllvm_constant_uchar(unsigned char, ...);
+ int _fixed_permute_int(int, unsigned, int, unsigned);
+ int vllvm_fixed_permute_int(int, unsigned, int, unsigned);
+ unsigned int _fixed_permute_unsigned_int(unsigned int, unsigned, unsigned int, unsigned);
+ unsigned int vllvm_fixed_permute_unsigned_int(unsigned int, unsigned, unsigned int, unsigned);
+ unsigned int vllvm_fixed_permute_uint(unsigned int, unsigned, unsigned int, unsigned);
+ short _fixed_permute_short(short, unsigned, short, unsigned);
+ short vllvm_fixed_permute_short(short, unsigned, short, unsigned);
+ unsigned short _fixed_permute_unsigned_short(unsigned short, unsigned, unsigned short, unsigned);
+ unsigned short vllvm_fixed_permute_unsigned_short(unsigned short, unsigned, unsigned short, unsigned);
+ unsigned short vllvm_fixed_permute_ushort(unsigned short, unsigned, unsigned short, unsigned);
+ long _fixed_permute_long(long, unsigned, long, unsigned);
+ long vllvm_fixed_permute_long(long, unsigned, long, unsigned);
+ unsigned long _fixed_permute_unsigned_long(unsigned long, unsigned, unsigned long, unsigned);
+ unsigned long vllvm_fixed_permute_unsigned_long(unsigned long, unsigned, unsigned long, unsigned);
+ unsigned long vllvm_fixed_permute_ulong(unsigned long, unsigned, unsigned long, unsigned);
+ char _fixed_permute_char(char, unsigned, char, unsigned);
+ char vllvm_fixed_permute_char(char, unsigned, char, unsigned);
+ unsigned char _fixed_permute_unsigned_char(unsigned char, unsigned, unsigned char, unsigned);
+ unsigned char vllvm_fixed_permute_unsigned_char(unsigned char, unsigned, unsigned char, unsigned);
+ unsigned char vllvm_fixed_permute_uchar(unsigned char, unsigned, unsigned char, unsigned);
+ int _vload_int(const int*, ...);
+ int vllvm_vload_int(const int*, ...);
+ unsigned int _vload_unsigned_int(const unsigned int*, ...);
+ unsigned int vllvm_vload_unsigned_int(const unsigned int*, ...);
+ unsigned int vllvm_vload_uint(const unsigned int*, ...);
+ short _vload_short(const short*, ...);
+ short vllvm_vload_short(const short*, ...);
+ unsigned short _vload_unsigned_short(const unsigned short*, ...);
+ unsigned short vllvm_vload_unsigned_short(const unsigned short*, ...);
+ unsigned short vllvm_vload_ushort(const unsigned short*, ...);
+ long _vload_long(const long*, ...);
+ long vllvm_vload_long(const long*, ...);
+ unsigned long _vload_unsigned_long(const unsigned long*, ...);
+ unsigned long vllvm_vload_unsigned_long(const unsigned long*, ...);
+ unsigned long vllvm_vload_ulong(const unsigned long*, ...);
+ char _vload_char(const char*, ...);
+ char vllvm_vload_char(const char*, ...);
+ unsigned char _vload_unsigned_char(const unsigned char*, ...);
+ unsigned char vllvm_vload_unsigned_char(const unsigned char*, ...);
+ unsigned char vllvm_vload_uchar(const unsigned char*, ...);
+ int _vloadi_int(int, unsigned);
+ int vllvm_vloadi_int(int, unsigned);
+ unsigned int _vloadi_unsigned_int(unsigned int, unsigned);
+ unsigned int vllvm_vloadi_unsigned_int(unsigned int, unsigned);
+ unsigned int vllvm_vloadi_uint(unsigned int, unsigned);
+ short _vloadi_short(short, unsigned);
+ short vllvm_vloadi_short(short, unsigned);
+ unsigned short _vloadi_unsigned_short(unsigned short, unsigned);
+ unsigned short vllvm_vloadi_unsigned_short(unsigned short, unsigned);
+ unsigned short vllvm_vloadi_ushort(unsigned short, unsigned);
+ long _vloadi_long(long, unsigned);
+ long vllvm_vloadi_long(long, unsigned);
+ unsigned long _vloadi_unsigned_long(unsigned long, unsigned);
+ unsigned long vllvm_vloadi_unsigned_long(unsigned long, unsigned);
+ unsigned long vllvm_vloadi_ulong(unsigned long, unsigned);
+ char _vloadi_char(char, unsigned);
+ char vllvm_vloadi_char(char, unsigned);
+ unsigned char _vloadi_unsigned_char(unsigned char, unsigned);
+ unsigned char vllvm_vloadi_unsigned_char(unsigned char, unsigned);
+ unsigned char vllvm_vloadi_uchar(unsigned char, unsigned);
+ void _vstore_int(int, int*, ...);
+ void vllvm_vstore_int(int, int*, ...);
+ void _vstore_unsigned_int(unsigned int, unsigned int*, ...);
+ void vllvm_vstore_unsigned_int(unsigned int, unsigned int*, ...);
+ void vllvm_vstore_uint(unsigned int, unsigned int*, ...);
+ void _vstore_short(short, short*, ...);
+ void vllvm_vstore_short(short, short*, ...);
+ void _vstore_unsigned_short(unsigned short, unsigned short*, ...);
+ void vllvm_vstore_unsigned_short(unsigned short, unsigned short*, ...);
+ void vllvm_vstore_ushort(unsigned short, unsigned short*, ...);
+ void _vstore_long(long, long*, ...);
+ void vllvm_vstore_long(long, long*, ...);
+ void _vstore_unsigned_long(unsigned long, unsigned long*, ...);
+ void vllvm_vstore_unsigned_long(unsigned long, unsigned long*, ...);
+ void vllvm_vstore_ulong(unsigned long, unsigned long*, ...);
+ void _vstore_char(char, char*, ...);
+ void vllvm_vstore_char(char, char*, ...);
+ void _vstore_unsigned_char(unsigned char, unsigned char*, ...);
+ void vllvm_vstore_unsigned_char(unsigned char, unsigned char*, ...);
+ void vllvm_vstore_uchar(unsigned char, unsigned char*, ...);


Index: llvm/include/VectorC/makedecls.pl
diff -c /dev/null llvm/include/VectorC/makedecls.pl:1.1.2.1
*** /dev/null	Tue Oct 18 14:32:52 2005
--- llvm/include/VectorC/makedecls.pl	Tue Oct 18 14:32:40 2005
***************
*** 0 ****
--- 1,83 ----
+ #!/usr/bin/perl
+ 
+ @types = ('int', short, long, char);
+ @funcs = (['<type>', vimm, '<type>', unsigned],
+ 	  ['<type>', fixed_vimm, '<type>', unsigned],
+ 	  ['<type>', vgather, 'const <type>*', '...'],
+ 	  [void, vscatter, '<type>', '<type>*', '...'],
+ 	  ['<type>', load, 'const <type>*', unsigned, 'int'],
+ 	  ['<type>', store, '<type>', '<type>*', 'int'],
+ 	  ['<type>', vselect, 'int', '<type>', '<type>'],
+ 	  ['<type>', extract, '<type>', unsigned, unsigned, unsigned],
+ 	  ['<type>', combine, '<type>', '<type>', unsigned, unsigned],
+ 	  ['<type>', fixed_combine, '<type>', unsigned, '<type>', unsigned, unsigned, unsigned],
+ 	  ['<type>', extractelement, '<type>', unsigned],
+ 	  ['<type>', combineelement, '<type>', '<type>', unsigned],
+ 	  ['<type>', constant, '<type>', '...'],
+ 	  ['<type>', fixed_permute, '<type>', unsigned, '<type>', unsigned],
+ # Older forms (for compatibility)
+ 	  ['<type>', vload, 'const <type>*', '...'],
+ 	  ['<type>', vloadi, '<type>', unsigned],
+ 	  [void, vstore, '<type>', '<type>*', '...']
+ 	  );
+ 
+ sub resolve(@) {
+     my ($str, $type) = @_;
+     $str =~ s/<type>/$type/g;
+     return $str;
+ }
+ 
+ sub print_decl(@) {
+     my ($func, $type) = @_;
+     my $ext = $type;
+     $ext =~ s/ /_/g;
+ 
+     #_... form
+     print resolve($func->[0], $type);
+     print " _$func->[1]_$ext(";
+     for (my $i = 2; $i < $#{$func}; ++$i) {
+ 	print resolve($func->[$i], $type);
+ 	print ", ";
+     }
+     print resolve($func->[$#{$func}], $type);
+     print ");\n";
+ 
+     # Alternate (newer, preferred) vllvm_... form
+     print resolve($func->[0], $type);
+     print " vllvm_$func->[1]_$ext(";
+     for (my $i = 2; $i < $#{$func}; ++$i) {
+ 	print resolve($func->[$i], $type);
+ 	print ", ";
+     }
+     print resolve($func->[$#{$func}], $type);
+     print ");\n";
+ 
+     if ($type =~ /unsigned\s+(\w+)/) {
+ 	$ext = 'u'.$1;
+ 	print resolve($func->[0], $type);
+ 	print " vllvm_$func->[1]_$ext(";
+ 	for (my $i = 2; $i < $#{$func}; ++$i) {
+ 	    print resolve($func->[$i], $type);
+ 	    print ", ";
+ 	}
+ 	print resolve($func->[$#{$func}], $type);
+ 	print ");\n";
+     }
+ 
+ }
+ 
+ print "// VectorC.h\n";
+ print "// Header file for Vector C significant functions\n";
+ print "// File autogenerated by $0\n\n";
+ print "typedef unsigned char uchar;\n";
+ print "typedef unsigned short ushort;\n";
+ print "typedef unsigned int uint;\n";
+ foreach (@funcs) {
+     my $func = $_;
+     foreach (@types) {
+ 	my $type = $_;
+ 	print_decl($func, $type);
+ 	print_decl($func, "unsigned ".$type);
+     }
+ }
+ 


Index: llvm/include/VectorC/triplet.h
diff -c /dev/null llvm/include/VectorC/triplet.h:1.1.2.1
*** /dev/null	Tue Oct 18 14:32:52 2005
--- llvm/include/VectorC/triplet.h	Tue Oct 18 14:32:40 2005
***************
*** 0 ****
--- 1,4 ----
+ int _triplet(int,...);
+ int _select_int(int,...);
+ short _select_short(int,...);
+ int _register();






More information about the llvm-commits mailing list