1 ! 2 ! Copyright (c) 2004-2018, NVIDIA CORPORATION. All rights reserved. 3 ! 4 ! Licensed under the Apache License, Version 2.0 (the "License"); 5 ! you may not use this file except in compliance with the License. 6 ! You may obtain a copy of the License at 7 ! 8 ! http://www.apache.org/licenses/LICENSE-2.0 9 ! 10 ! Unless required by applicable law or agreed to in writing, software 11 ! distributed under the License is distributed on an "AS IS" BASIS, 12 ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 ! See the License for the specific language governing permissions and 14 ! limitations under the License. 15 ! 16 17 18 ! directives.h -- contains preprocessor directives for F90 rte files 19 20 #define PREFIX(x) f90##x 21 #define _PREFIX(x) _f90##x 22 23 #ifdef DESC_I8 24 #define DESC_INT INTEGER(8) 25 #define F90_matmul_cplx16_contmxm PREFIX(_mm_cplx16_contmxm_i8) 26 #define F90_matmul_cplx16_contmxv PREFIX(_mm_cplx16_contmxv_i8) 27 #define F90_matmul_cplx16_contvxm PREFIX(_mm_cplx16_contvxm_i8) 28 #define F90_matmul_cplx16_str1 PREFIX(_mm_cplx16_str1_i8) 29 #define F90_matmul_cplx16_str1_mxv PREFIX(_mm_cplx16_str1_mxv_i8) 30 #define F90_matmul_cplx16_str1_mxv_t PREFIX(_mm_cplx16_str1_mxv_t_i8) 31 #define F90_matmul_cplx16_str1_vxm PREFIX(_mm_cplx16_str1_vxm_i8) 32 #define F90_matmul_cplx32_contmxm PREFIX(_mm_cplx32_contmxm_i8) 33 #define F90_matmul_cplx32_contmxv PREFIX(_mm_cplx32_contmxv_i8) 34 #define F90_matmul_cplx32_contvxm PREFIX(_mm_cplx32_contvxm_i8) 35 #define F90_matmul_cplx32_str1 PREFIX(_mm_cplx32_str1_i8) 36 #define F90_matmul_cplx32_str1_mxv PREFIX(_mm_cplx32_str1_mxv_i8) 37 #define F90_matmul_cplx8_contmxm PREFIX(_mm_cplx8_contmxm_i8) 38 #define F90_matmul_cplx8_contmxv PREFIX(_mm_cplx8_contmxv_i8) 39 #define F90_matmul_cplx8_contvxm PREFIX(_mm_cplx8_contvxm_i8) 40 #define F90_matmul_cplx8_str1 PREFIX(_mm_cplx8_str1_i8) 41 #define F90_matmul_cplx8_str1_mxv PREFIX(_mm_cplx8_str1_mxv_i8) 42 #define F90_matmul_cplx8_str1_mxv_t PREFIX(_mm_cplx8_str1_mxv_t_i8) 43 #define F90_matmul_cplx8_str1_t PREFIX(_mm_cplx8_str1_t_i8) 44 #define F90_matmul_cplx8_str1_vxm PREFIX(_mm_cplx8_str1_vxm_i8) 45 #define F90_matmul_int1_contmxm PREFIX(_mm_int1_contmxm_i8) 46 #define F90_matmul_int1_contmxv PREFIX(_mm_int1_contmxv_i8) 47 #define F90_matmul_int1_contvxm PREFIX(_mm_int1_contvxm_i8) 48 #define F90_matmul_int1_str1 PREFIX(_mm_int1_str1_i8) 49 #define F90_matmul_int1_str1_mxv PREFIX(_mm_int1_str1_mxv_i8) 50 #define F90_matmul_int1_str1_vxm PREFIX(_mm_int1_str1_vxm_i8) 51 #define F90_matmul_int2_contmxm PREFIX(_mm_int2_contmxm_i8) 52 #define F90_matmul_int2_contmxv PREFIX(_mm_int2_contmxv_i8) 53 #define F90_matmul_int2_contvxm PREFIX(_mm_int2_contvxm_i8) 54 #define F90_matmul_int2_str1 PREFIX(_mm_int2_str1_i8) 55 #define F90_matmul_int2_str1_mxv PREFIX(_mm_int2_str1_mxv_i8) 56 #define F90_matmul_int2_str1_vxm PREFIX(_mm_int2_str1_vxm_i8) 57 #define F90_matmul_int4_contmxm PREFIX(_mm_int4_contmxm_i8) 58 #define F90_matmul_int4_contmxv PREFIX(_mm_int4_contmxv_i8) 59 #define F90_matmul_int4_contvxm PREFIX(_mm_int4_contvxm_i8) 60 #define F90_matmul_int4_str1 PREFIX(_mm_int4_str1_i8) 61 #define F90_matmul_int4_str1_mxv PREFIX(_mm_int4_str1_mxv_i8) 62 #define F90_matmul_int4_str1_vxm PREFIX(_mm_int4_str1_vxm_i8) 63 #define F90_matmul_int8_contmxm PREFIX(_mm_int8_contmxm_i8) 64 #define F90_matmul_int8_contmxv PREFIX(_mm_int8_contmxv_i8) 65 #define F90_matmul_int8_contvxm PREFIX(_mm_int8_contvxm_i8) 66 #define F90_matmul_int8_str1 PREFIX(_mm_int8_str1_i8) 67 #define F90_matmul_int8_str1_mxv PREFIX(_mm_int8_str1_mxv_i8) 68 #define F90_matmul_int8_str1_vxm PREFIX(_mm_int8_str1_vxm_i8) 69 #define F90_matmul_log1_contmxm PREFIX(_mm_log1_contmxm_i8) 70 #define F90_matmul_log1_contmxv PREFIX(_mm_log1_contmxv_i8) 71 #define F90_matmul_log1_contvxm PREFIX(_mm_log1_contvxm_i8) 72 #define F90_matmul_log2_contmxm PREFIX(_mm_log2_contmxm_i8) 73 #define F90_matmul_log2_contmxv PREFIX(_mm_log2_contmxv_i8) 74 #define F90_matmul_log2_contvxm PREFIX(_mm_log2_contvxm_i8) 75 #define F90_matmul_log4_contmxm PREFIX(_mm_log4_contmxm_i8) 76 #define F90_matmul_log4_contmxv PREFIX(_mm_log4_contmxv_i8) 77 #define F90_matmul_log4_contvxm PREFIX(_mm_log4_contvxm_i8) 78 #define F90_matmul_log8_contmxm PREFIX(_mm_log8_contmxm_i8) 79 #define F90_matmul_log8_contmxv PREFIX(_mm_log8_contmxv_i8) 80 #define F90_matmul_log8_contvxm PREFIX(_mm_log8_contvxm_i8) 81 #define F90_matmul_real16_contmxm PREFIX(_mm_real16_contmxm_i8) 82 #define F90_matmul_real16_contmxv PREFIX(_mm_real16_contmxv_i8) 83 #define F90_matmul_real16_contvxm PREFIX(_mm_real16_contvxm_i8) 84 #define F90_matmul_real4_contmxm PREFIX(_mm_real4_contmxm_i8) 85 #define F90_matmul_real4_contmxv PREFIX(_mm_real4_contmxv_i8) 86 #define F90_matmul_real4_contvxm PREFIX(_mm_real4_contvxm_i8) 87 #define F90_matmul_real4_str1 PREFIX(_mm_real4_str1_i8) 88 #define F90_matmul_real4_str1_mxv PREFIX(_mm_real4_str1_mxv_i8) 89 #define F90_matmul_real4_str1_mxv_t PREFIX(_mm_real4_str1_mxv_t_i8) 90 #define F90_matmul_real4_str1_t PREFIX(_mm_real4_str1_t_i8) 91 #define F90_matmul_real4_str1_vxm PREFIX(_mm_real4_str1_vxm_i8) 92 #define F90_matmul_real8_contmxm PREFIX(_mm_real8_contmxm_i8) 93 #define F90_matmul_real8_contmxv PREFIX(_mm_real8_contmxv_i8) 94 #define F90_matmul_real8_contvxm PREFIX(_mm_real8_contvxm_i8) 95 #define F90_matmul_real8_str1 PREFIX(_mm_real8_str1_i8) 96 #define _F90_matmul_real8_str1a _PREFIX(_mm_real8_str1a_i8) 97 #define _F90_matmul_real8_str1b _PREFIX(_mm_real8_str1b_i8) 98 #define _F90_matmul_real8_str1c _PREFIX(_mm_real8_str1c_i8) 99 #define F90_matmul_real8_str1_mxv PREFIX(_mm_real8_str1_mxv_i8) 100 #define F90_matmul_real8_str1_mxv_t PREFIX(_mm_real8_str1_mxv_t_i8) 101 #define F90_matmul_real8_str1_vxm PREFIX(_mm_real8_str1_vxm_i8) 102 #else 103 #define DESC_INT INTEGER(4) 104 #define F90_matmul_cplx16_contmxm PREFIX(_mm_cplx16_contmxm) 105 #define F90_matmul_cplx16_contmxv PREFIX(_mm_cplx16_contmxv) 106 #define F90_matmul_cplx16_contvxm PREFIX(_mm_cplx16_contvxm) 107 #define F90_matmul_cplx16_str1 PREFIX(_mm_cplx16_str1) 108 #define F90_matmul_cplx16_str1_mxv PREFIX(_mm_cplx16_str1_mxv) 109 #define F90_matmul_cplx16_str1_mxv_t PREFIX(_mm_cplx16_str1_mxv_t) 110 #define F90_matmul_cplx16_str1_vxm PREFIX(_mm_cplx16_str1_vxm) 111 #define F90_matmul_cplx32_contmxm PREFIX(_mm_cplx32_contmxm) 112 #define F90_matmul_cplx32_contmxv PREFIX(_mm_cplx32_contmxv) 113 #define F90_matmul_cplx32_contvxm PREFIX(_mm_cplx32_contvxm) 114 #define F90_matmul_cplx32_str1 PREFIX(_mm_cplx32_str1) 115 #define F90_matmul_cplx32_str1_mxv PREFIX(_mm_cplx32_str1_mxv) 116 #define F90_matmul_cplx8_contmxm PREFIX(_mm_cplx8_contmxm) 117 #define F90_matmul_cplx8_contmxv PREFIX(_mm_cplx8_contmxv) 118 #define F90_matmul_cplx8_contvxm PREFIX(_mm_cplx8_contvxm) 119 #define F90_matmul_cplx8_str1 PREFIX(_mm_cplx8_str1) 120 #define F90_matmul_cplx8_str1_mxv PREFIX(_mm_cplx8_str1_mxv) 121 #define F90_matmul_cplx8_str1_mxv_t PREFIX(_mm_cplx8_str1_mxv_t) 122 #define F90_matmul_cplx8_str1_t PREFIX(_mm_cplx8_str1_t) 123 #define F90_matmul_cplx8_str1_vxm PREFIX(_mm_cplx8_str1_vxm) 124 #define F90_matmul_int1_contmxm PREFIX(_mm_int1_contmxm) 125 #define F90_matmul_int1_contmxv PREFIX(_mm_int1_contmxv) 126 #define F90_matmul_int1_contvxm PREFIX(_mm_int1_contvxm) 127 #define F90_matmul_int1_str1 PREFIX(_mm_int1_str1) 128 #define F90_matmul_int1_str1_mxv PREFIX(_mm_int1_str1_mxv) 129 #define F90_matmul_int1_str1_vxm PREFIX(_mm_int1_str1_vxm) 130 #define F90_matmul_int2_contmxm PREFIX(_mm_int2_contmxm) 131 #define F90_matmul_int2_contmxv PREFIX(_mm_int2_contmxv) 132 #define F90_matmul_int2_contvxm PREFIX(_mm_int2_contvxm) 133 #define F90_matmul_int2_str1 PREFIX(_mm_int2_str1) 134 #define F90_matmul_int2_str1_mxv PREFIX(_mm_int2_str1_mxv) 135 #define F90_matmul_int2_str1_vxm PREFIX(_mm_int2_str1_vxm) 136 #define F90_matmul_int4_contmxm PREFIX(_mm_int4_contmxm) 137 #define F90_matmul_int4_contmxv PREFIX(_mm_int4_contmxv) 138 #define F90_matmul_int4_contvxm PREFIX(_mm_int4_contvxm) 139 #define F90_matmul_int4_str1 PREFIX(_mm_int4_str1) 140 #define F90_matmul_int4_str1_mxv PREFIX(_mm_int4_str1_mxv) 141 #define F90_matmul_int4_str1_vxm PREFIX(_mm_int4_str1_vxm) 142 #define F90_matmul_int8_contmxm PREFIX(_mm_int8_contmxm) 143 #define F90_matmul_int8_contmxv PREFIX(_mm_int8_contmxv) 144 #define F90_matmul_int8_contvxm PREFIX(_mm_int8_contvxm) 145 #define F90_matmul_int8_str1 PREFIX(_mm_int8_str1) 146 #define F90_matmul_int8_str1_mxv PREFIX(_mm_int8_str1_mxv) 147 #define F90_matmul_int8_str1_vxm PREFIX(_mm_int8_str1_vxm) 148 #define F90_matmul_log1_contmxm PREFIX(_mm_log1_contmxm) 149 #define F90_matmul_log1_contmxv PREFIX(_mm_log1_contmxv) 150 #define F90_matmul_log1_contvxm PREFIX(_mm_log1_contvxm) 151 #define F90_matmul_log2_contmxm PREFIX(_mm_log2_contmxm) 152 #define F90_matmul_log2_contmxv PREFIX(_mm_log2_contmxv) 153 #define F90_matmul_log2_contvxm PREFIX(_mm_log2_contvxm) 154 #define F90_matmul_log4_contmxm PREFIX(_mm_log4_contmxm) 155 #define F90_matmul_log4_contmxv PREFIX(_mm_log4_contmxv) 156 #define F90_matmul_log4_contvxm PREFIX(_mm_log4_contvxm) 157 #define F90_matmul_log8_contmxm PREFIX(_mm_log8_contmxm) 158 #define F90_matmul_log8_contmxv PREFIX(_mm_log8_contmxv) 159 #define F90_matmul_log8_contvxm PREFIX(_mm_log8_contvxm) 160 #define F90_matmul_real16_contmxm PREFIX(_mm_real16_contmxm) 161 #define F90_matmul_real16_contmxv PREFIX(_mm_real16_contmxv) 162 #define F90_matmul_real16_contvxm PREFIX(_mm_real16_contvxm) 163 #define F90_matmul_real4_contmxm PREFIX(_mm_real4_contmxm) 164 #define F90_matmul_real4_contmxv PREFIX(_mm_real4_contmxv) 165 #define F90_matmul_real4_contvxm PREFIX(_mm_real4_contvxm) 166 #define F90_matmul_real4_str1 PREFIX(_mm_real4_str1) 167 #define F90_matmul_real4_str1_mxv PREFIX(_mm_real4_str1_mxv) 168 #define F90_matmul_real4_str1_mxv_t PREFIX(_mm_real4_str1_mxv_t) 169 #define F90_matmul_real4_str1_t PREFIX(_mm_real4_str1_t) 170 #define F90_matmul_real4_str1_vxm PREFIX(_mm_real4_str1_vxm) 171 #define F90_matmul_real8_contmxm PREFIX(_mm_real8_contmxm) 172 #define F90_matmul_real8_contmxv PREFIX(_mm_real8_contmxv) 173 #define F90_matmul_real8_contvxm PREFIX(_mm_real8_contvxm) 174 #define F90_matmul_real8_str1 PREFIX(_mm_real8_str1) 175 #define _F90_matmul_real8_str1a _PREFIX(_mm_real8_str1a) 176 #define _F90_matmul_real8_str1b _PREFIX(_mm_real8_str1b) 177 #define _F90_matmul_real8_str1c _PREFIX(_mm_real8_str1c) 178 #define F90_matmul_real8_str1_mxv PREFIX(_mm_real8_str1_mxv) 179 #define F90_matmul_real8_str1_mxv_t PREFIX(_mm_real8_str1_mxv_t) 180 #define F90_matmul_real8_str1_vxm PREFIX(_mm_real8_str1_vxm) 181 #endif /* DESC_I8 */ 182