[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