15#ifndef LLVM_IR_NVVMINTRINSICUTILS_H
16#define LLVM_IR_NVVMINTRINSICUTILS_H
24#include "llvm/IR/IntrinsicsNVPTX.h"
124 switch (IntrinsicID) {
125 case Intrinsic::nvvm_f2i_rm_ftz:
126 case Intrinsic::nvvm_f2i_rn_ftz:
127 case Intrinsic::nvvm_f2i_rp_ftz:
128 case Intrinsic::nvvm_f2i_rz_ftz:
130 case Intrinsic::nvvm_f2ui_rm_ftz:
131 case Intrinsic::nvvm_f2ui_rn_ftz:
132 case Intrinsic::nvvm_f2ui_rp_ftz:
133 case Intrinsic::nvvm_f2ui_rz_ftz:
135 case Intrinsic::nvvm_f2ll_rm_ftz:
136 case Intrinsic::nvvm_f2ll_rn_ftz:
137 case Intrinsic::nvvm_f2ll_rp_ftz:
138 case Intrinsic::nvvm_f2ll_rz_ftz:
140 case Intrinsic::nvvm_f2ull_rm_ftz:
141 case Intrinsic::nvvm_f2ull_rn_ftz:
142 case Intrinsic::nvvm_f2ull_rp_ftz:
143 case Intrinsic::nvvm_f2ull_rz_ftz:
146 case Intrinsic::nvvm_f2i_rm:
147 case Intrinsic::nvvm_f2i_rn:
148 case Intrinsic::nvvm_f2i_rp:
149 case Intrinsic::nvvm_f2i_rz:
151 case Intrinsic::nvvm_f2ui_rm:
152 case Intrinsic::nvvm_f2ui_rn:
153 case Intrinsic::nvvm_f2ui_rp:
154 case Intrinsic::nvvm_f2ui_rz:
156 case Intrinsic::nvvm_d2i_rm:
157 case Intrinsic::nvvm_d2i_rn:
158 case Intrinsic::nvvm_d2i_rp:
159 case Intrinsic::nvvm_d2i_rz:
161 case Intrinsic::nvvm_d2ui_rm:
162 case Intrinsic::nvvm_d2ui_rn:
163 case Intrinsic::nvvm_d2ui_rp:
164 case Intrinsic::nvvm_d2ui_rz:
166 case Intrinsic::nvvm_f2ll_rm:
167 case Intrinsic::nvvm_f2ll_rn:
168 case Intrinsic::nvvm_f2ll_rp:
169 case Intrinsic::nvvm_f2ll_rz:
171 case Intrinsic::nvvm_f2ull_rm:
172 case Intrinsic::nvvm_f2ull_rn:
173 case Intrinsic::nvvm_f2ull_rp:
174 case Intrinsic::nvvm_f2ull_rz:
176 case Intrinsic::nvvm_d2ll_rm:
177 case Intrinsic::nvvm_d2ll_rn:
178 case Intrinsic::nvvm_d2ll_rp:
179 case Intrinsic::nvvm_d2ll_rz:
181 case Intrinsic::nvvm_d2ull_rm:
182 case Intrinsic::nvvm_d2ull_rn:
183 case Intrinsic::nvvm_d2ull_rp:
184 case Intrinsic::nvvm_d2ull_rz:
191 switch (IntrinsicID) {
193 case Intrinsic::nvvm_f2i_rm:
194 case Intrinsic::nvvm_f2i_rm_ftz:
195 case Intrinsic::nvvm_f2i_rn:
196 case Intrinsic::nvvm_f2i_rn_ftz:
197 case Intrinsic::nvvm_f2i_rp:
198 case Intrinsic::nvvm_f2i_rp_ftz:
199 case Intrinsic::nvvm_f2i_rz:
200 case Intrinsic::nvvm_f2i_rz_ftz:
202 case Intrinsic::nvvm_d2i_rm:
203 case Intrinsic::nvvm_d2i_rn:
204 case Intrinsic::nvvm_d2i_rp:
205 case Intrinsic::nvvm_d2i_rz:
207 case Intrinsic::nvvm_f2ll_rm:
208 case Intrinsic::nvvm_f2ll_rm_ftz:
209 case Intrinsic::nvvm_f2ll_rn:
210 case Intrinsic::nvvm_f2ll_rn_ftz:
211 case Intrinsic::nvvm_f2ll_rp:
212 case Intrinsic::nvvm_f2ll_rp_ftz:
213 case Intrinsic::nvvm_f2ll_rz:
214 case Intrinsic::nvvm_f2ll_rz_ftz:
216 case Intrinsic::nvvm_d2ll_rm:
217 case Intrinsic::nvvm_d2ll_rn:
218 case Intrinsic::nvvm_d2ll_rp:
219 case Intrinsic::nvvm_d2ll_rz:
223 case Intrinsic::nvvm_f2ui_rm:
224 case Intrinsic::nvvm_f2ui_rm_ftz:
225 case Intrinsic::nvvm_f2ui_rn:
226 case Intrinsic::nvvm_f2ui_rn_ftz:
227 case Intrinsic::nvvm_f2ui_rp:
228 case Intrinsic::nvvm_f2ui_rp_ftz:
229 case Intrinsic::nvvm_f2ui_rz:
230 case Intrinsic::nvvm_f2ui_rz_ftz:
232 case Intrinsic::nvvm_d2ui_rm:
233 case Intrinsic::nvvm_d2ui_rn:
234 case Intrinsic::nvvm_d2ui_rp:
235 case Intrinsic::nvvm_d2ui_rz:
237 case Intrinsic::nvvm_f2ull_rm:
238 case Intrinsic::nvvm_f2ull_rm_ftz:
239 case Intrinsic::nvvm_f2ull_rn:
240 case Intrinsic::nvvm_f2ull_rn_ftz:
241 case Intrinsic::nvvm_f2ull_rp:
242 case Intrinsic::nvvm_f2ull_rp_ftz:
243 case Intrinsic::nvvm_f2ull_rz:
244 case Intrinsic::nvvm_f2ull_rz_ftz:
246 case Intrinsic::nvvm_d2ull_rm:
247 case Intrinsic::nvvm_d2ull_rn:
248 case Intrinsic::nvvm_d2ull_rp:
249 case Intrinsic::nvvm_d2ull_rz:
253 "Checking invalid f2i/d2i intrinsic for signed int conversion");
257 switch (IntrinsicID) {
259 case Intrinsic::nvvm_f2i_rm:
260 case Intrinsic::nvvm_f2i_rn:
261 case Intrinsic::nvvm_f2i_rp:
262 case Intrinsic::nvvm_f2i_rz:
263 case Intrinsic::nvvm_f2i_rm_ftz:
264 case Intrinsic::nvvm_f2i_rn_ftz:
265 case Intrinsic::nvvm_f2i_rp_ftz:
266 case Intrinsic::nvvm_f2i_rz_ftz:
268 case Intrinsic::nvvm_f2ui_rm:
269 case Intrinsic::nvvm_f2ui_rn:
270 case Intrinsic::nvvm_f2ui_rp:
271 case Intrinsic::nvvm_f2ui_rz:
272 case Intrinsic::nvvm_f2ui_rm_ftz:
273 case Intrinsic::nvvm_f2ui_rn_ftz:
274 case Intrinsic::nvvm_f2ui_rp_ftz:
275 case Intrinsic::nvvm_f2ui_rz_ftz:
278 case Intrinsic::nvvm_d2i_rm:
279 case Intrinsic::nvvm_d2i_rn:
280 case Intrinsic::nvvm_d2i_rp:
281 case Intrinsic::nvvm_d2i_rz:
283 case Intrinsic::nvvm_d2ui_rm:
284 case Intrinsic::nvvm_d2ui_rn:
285 case Intrinsic::nvvm_d2ui_rp:
286 case Intrinsic::nvvm_d2ui_rz:
288 case Intrinsic::nvvm_f2ll_rm:
289 case Intrinsic::nvvm_f2ll_rn:
290 case Intrinsic::nvvm_f2ll_rp:
291 case Intrinsic::nvvm_f2ll_rz:
292 case Intrinsic::nvvm_f2ll_rm_ftz:
293 case Intrinsic::nvvm_f2ll_rn_ftz:
294 case Intrinsic::nvvm_f2ll_rp_ftz:
295 case Intrinsic::nvvm_f2ll_rz_ftz:
297 case Intrinsic::nvvm_f2ull_rm:
298 case Intrinsic::nvvm_f2ull_rn:
299 case Intrinsic::nvvm_f2ull_rp:
300 case Intrinsic::nvvm_f2ull_rz:
301 case Intrinsic::nvvm_f2ull_rm_ftz:
302 case Intrinsic::nvvm_f2ull_rn_ftz:
303 case Intrinsic::nvvm_f2ull_rp_ftz:
304 case Intrinsic::nvvm_f2ull_rz_ftz:
306 case Intrinsic::nvvm_d2ll_rm:
307 case Intrinsic::nvvm_d2ll_rn:
308 case Intrinsic::nvvm_d2ll_rp:
309 case Intrinsic::nvvm_d2ll_rz:
311 case Intrinsic::nvvm_d2ull_rm:
312 case Intrinsic::nvvm_d2ull_rn:
313 case Intrinsic::nvvm_d2ull_rp:
314 case Intrinsic::nvvm_d2ull_rz:
322 switch (IntrinsicID) {
324 case Intrinsic::nvvm_f2i_rm:
325 case Intrinsic::nvvm_f2ui_rm:
326 case Intrinsic::nvvm_f2i_rm_ftz:
327 case Intrinsic::nvvm_f2ui_rm_ftz:
328 case Intrinsic::nvvm_d2i_rm:
329 case Intrinsic::nvvm_d2ui_rm:
331 case Intrinsic::nvvm_f2ll_rm:
332 case Intrinsic::nvvm_f2ull_rm:
333 case Intrinsic::nvvm_f2ll_rm_ftz:
334 case Intrinsic::nvvm_f2ull_rm_ftz:
335 case Intrinsic::nvvm_d2ll_rm:
336 case Intrinsic::nvvm_d2ull_rm:
340 case Intrinsic::nvvm_f2i_rn:
341 case Intrinsic::nvvm_f2ui_rn:
342 case Intrinsic::nvvm_f2i_rn_ftz:
343 case Intrinsic::nvvm_f2ui_rn_ftz:
344 case Intrinsic::nvvm_d2i_rn:
345 case Intrinsic::nvvm_d2ui_rn:
347 case Intrinsic::nvvm_f2ll_rn:
348 case Intrinsic::nvvm_f2ull_rn:
349 case Intrinsic::nvvm_f2ll_rn_ftz:
350 case Intrinsic::nvvm_f2ull_rn_ftz:
351 case Intrinsic::nvvm_d2ll_rn:
352 case Intrinsic::nvvm_d2ull_rn:
356 case Intrinsic::nvvm_f2i_rp:
357 case Intrinsic::nvvm_f2ui_rp:
358 case Intrinsic::nvvm_f2i_rp_ftz:
359 case Intrinsic::nvvm_f2ui_rp_ftz:
360 case Intrinsic::nvvm_d2i_rp:
361 case Intrinsic::nvvm_d2ui_rp:
363 case Intrinsic::nvvm_f2ll_rp:
364 case Intrinsic::nvvm_f2ull_rp:
365 case Intrinsic::nvvm_f2ll_rp_ftz:
366 case Intrinsic::nvvm_f2ull_rp_ftz:
367 case Intrinsic::nvvm_d2ll_rp:
368 case Intrinsic::nvvm_d2ull_rp:
372 case Intrinsic::nvvm_f2i_rz:
373 case Intrinsic::nvvm_f2ui_rz:
374 case Intrinsic::nvvm_f2i_rz_ftz:
375 case Intrinsic::nvvm_f2ui_rz_ftz:
376 case Intrinsic::nvvm_d2i_rz:
377 case Intrinsic::nvvm_d2ui_rz:
379 case Intrinsic::nvvm_f2ll_rz:
380 case Intrinsic::nvvm_f2ull_rz:
381 case Intrinsic::nvvm_f2ll_rz_ftz:
382 case Intrinsic::nvvm_f2ull_rz_ftz:
383 case Intrinsic::nvvm_d2ll_rz:
384 case Intrinsic::nvvm_d2ull_rz:
391 switch (IntrinsicID) {
392 case Intrinsic::nvvm_fmax_ftz_f:
393 case Intrinsic::nvvm_fmax_ftz_nan_f:
394 case Intrinsic::nvvm_fmax_ftz_nan_xorsign_abs_f:
395 case Intrinsic::nvvm_fmax_ftz_xorsign_abs_f:
397 case Intrinsic::nvvm_fmin_ftz_f:
398 case Intrinsic::nvvm_fmin_ftz_nan_f:
399 case Intrinsic::nvvm_fmin_ftz_nan_xorsign_abs_f:
400 case Intrinsic::nvvm_fmin_ftz_xorsign_abs_f:
403 case Intrinsic::nvvm_fmax_d:
404 case Intrinsic::nvvm_fmax_f:
405 case Intrinsic::nvvm_fmax_nan_f:
406 case Intrinsic::nvvm_fmax_nan_xorsign_abs_f:
407 case Intrinsic::nvvm_fmax_xorsign_abs_f:
409 case Intrinsic::nvvm_fmin_d:
410 case Intrinsic::nvvm_fmin_f:
411 case Intrinsic::nvvm_fmin_nan_f:
412 case Intrinsic::nvvm_fmin_nan_xorsign_abs_f:
413 case Intrinsic::nvvm_fmin_xorsign_abs_f:
420 switch (IntrinsicID) {
421 case Intrinsic::nvvm_fmax_ftz_nan_f:
422 case Intrinsic::nvvm_fmax_nan_f:
423 case Intrinsic::nvvm_fmax_ftz_nan_xorsign_abs_f:
424 case Intrinsic::nvvm_fmax_nan_xorsign_abs_f:
426 case Intrinsic::nvvm_fmin_ftz_nan_f:
427 case Intrinsic::nvvm_fmin_nan_f:
428 case Intrinsic::nvvm_fmin_ftz_nan_xorsign_abs_f:
429 case Intrinsic::nvvm_fmin_nan_xorsign_abs_f:
432 case Intrinsic::nvvm_fmax_d:
433 case Intrinsic::nvvm_fmax_f:
434 case Intrinsic::nvvm_fmax_ftz_f:
435 case Intrinsic::nvvm_fmax_ftz_xorsign_abs_f:
436 case Intrinsic::nvvm_fmax_xorsign_abs_f:
438 case Intrinsic::nvvm_fmin_d:
439 case Intrinsic::nvvm_fmin_f:
440 case Intrinsic::nvvm_fmin_ftz_f:
441 case Intrinsic::nvvm_fmin_ftz_xorsign_abs_f:
442 case Intrinsic::nvvm_fmin_xorsign_abs_f:
449 switch (IntrinsicID) {
450 case Intrinsic::nvvm_fmax_ftz_nan_xorsign_abs_f:
451 case Intrinsic::nvvm_fmax_ftz_xorsign_abs_f:
452 case Intrinsic::nvvm_fmax_nan_xorsign_abs_f:
453 case Intrinsic::nvvm_fmax_xorsign_abs_f:
455 case Intrinsic::nvvm_fmin_ftz_nan_xorsign_abs_f:
456 case Intrinsic::nvvm_fmin_ftz_xorsign_abs_f:
457 case Intrinsic::nvvm_fmin_nan_xorsign_abs_f:
458 case Intrinsic::nvvm_fmin_xorsign_abs_f:
461 case Intrinsic::nvvm_fmax_d:
462 case Intrinsic::nvvm_fmax_f:
463 case Intrinsic::nvvm_fmax_ftz_f:
464 case Intrinsic::nvvm_fmax_ftz_nan_f:
465 case Intrinsic::nvvm_fmax_nan_f:
467 case Intrinsic::nvvm_fmin_d:
468 case Intrinsic::nvvm_fmin_f:
469 case Intrinsic::nvvm_fmin_ftz_f:
470 case Intrinsic::nvvm_fmin_ftz_nan_f:
471 case Intrinsic::nvvm_fmin_nan_f:
474 llvm_unreachable(
"Checking XorSignAbs flag for invalid fmin/fmax intrinsic");
478 switch (IntrinsicID) {
479 case Intrinsic::nvvm_ceil_ftz_f:
480 case Intrinsic::nvvm_fabs_ftz:
481 case Intrinsic::nvvm_floor_ftz_f:
482 case Intrinsic::nvvm_round_ftz_f:
483 case Intrinsic::nvvm_saturate_ftz_f:
484 case Intrinsic::nvvm_sqrt_rn_ftz_f:
486 case Intrinsic::nvvm_ceil_f:
487 case Intrinsic::nvvm_ceil_d:
488 case Intrinsic::nvvm_fabs:
489 case Intrinsic::nvvm_floor_f:
490 case Intrinsic::nvvm_floor_d:
491 case Intrinsic::nvvm_round_f:
492 case Intrinsic::nvvm_round_d:
493 case Intrinsic::nvvm_saturate_d:
494 case Intrinsic::nvvm_saturate_f:
495 case Intrinsic::nvvm_sqrt_f:
496 case Intrinsic::nvvm_sqrt_rn_d:
497 case Intrinsic::nvvm_sqrt_rn_f:
504 switch (IntrinsicID) {
505 case Intrinsic::nvvm_rcp_rm_ftz_f:
506 case Intrinsic::nvvm_rcp_rn_ftz_f:
507 case Intrinsic::nvvm_rcp_rp_ftz_f:
508 case Intrinsic::nvvm_rcp_rz_ftz_f:
510 case Intrinsic::nvvm_rcp_rm_d:
511 case Intrinsic::nvvm_rcp_rm_f:
512 case Intrinsic::nvvm_rcp_rn_d:
513 case Intrinsic::nvvm_rcp_rn_f:
514 case Intrinsic::nvvm_rcp_rp_d:
515 case Intrinsic::nvvm_rcp_rp_f:
516 case Intrinsic::nvvm_rcp_rz_d:
517 case Intrinsic::nvvm_rcp_rz_f:
524 switch (IntrinsicID) {
525 case Intrinsic::nvvm_rcp_rm_f:
526 case Intrinsic::nvvm_rcp_rm_d:
527 case Intrinsic::nvvm_rcp_rm_ftz_f:
530 case Intrinsic::nvvm_rcp_rn_f:
531 case Intrinsic::nvvm_rcp_rn_d:
532 case Intrinsic::nvvm_rcp_rn_ftz_f:
535 case Intrinsic::nvvm_rcp_rp_f:
536 case Intrinsic::nvvm_rcp_rp_d:
537 case Intrinsic::nvvm_rcp_rp_ftz_f:
540 case Intrinsic::nvvm_rcp_rz_f:
541 case Intrinsic::nvvm_rcp_rz_d:
542 case Intrinsic::nvvm_rcp_rz_ftz_f:
555 switch (IntrinsicID) {
556 case Intrinsic::nvvm_add_rm_ftz_f:
557 case Intrinsic::nvvm_add_rn_ftz_f:
558 case Intrinsic::nvvm_add_rp_ftz_f:
559 case Intrinsic::nvvm_add_rz_ftz_f:
562 case Intrinsic::nvvm_add_rm_f:
563 case Intrinsic::nvvm_add_rn_f:
564 case Intrinsic::nvvm_add_rp_f:
565 case Intrinsic::nvvm_add_rz_f:
566 case Intrinsic::nvvm_add_rm_d:
567 case Intrinsic::nvvm_add_rn_d:
568 case Intrinsic::nvvm_add_rp_d:
569 case Intrinsic::nvvm_add_rz_d:
576 switch (IntrinsicID) {
577 case Intrinsic::nvvm_add_rm_f:
578 case Intrinsic::nvvm_add_rm_d:
579 case Intrinsic::nvvm_add_rm_ftz_f:
581 case Intrinsic::nvvm_add_rn_f:
582 case Intrinsic::nvvm_add_rn_d:
583 case Intrinsic::nvvm_add_rn_ftz_f:
585 case Intrinsic::nvvm_add_rp_f:
586 case Intrinsic::nvvm_add_rp_d:
587 case Intrinsic::nvvm_add_rp_ftz_f:
589 case Intrinsic::nvvm_add_rz_f:
590 case Intrinsic::nvvm_add_rz_d:
591 case Intrinsic::nvvm_add_rz_ftz_f:
598 switch (IntrinsicID) {
599 case Intrinsic::nvvm_mul_rm_ftz_f:
600 case Intrinsic::nvvm_mul_rn_ftz_f:
601 case Intrinsic::nvvm_mul_rp_ftz_f:
602 case Intrinsic::nvvm_mul_rz_ftz_f:
605 case Intrinsic::nvvm_mul_rm_f:
606 case Intrinsic::nvvm_mul_rn_f:
607 case Intrinsic::nvvm_mul_rp_f:
608 case Intrinsic::nvvm_mul_rz_f:
609 case Intrinsic::nvvm_mul_rm_d:
610 case Intrinsic::nvvm_mul_rn_d:
611 case Intrinsic::nvvm_mul_rp_d:
612 case Intrinsic::nvvm_mul_rz_d:
619 switch (IntrinsicID) {
620 case Intrinsic::nvvm_mul_rm_f:
621 case Intrinsic::nvvm_mul_rm_d:
622 case Intrinsic::nvvm_mul_rm_ftz_f:
624 case Intrinsic::nvvm_mul_rn_f:
625 case Intrinsic::nvvm_mul_rn_d:
626 case Intrinsic::nvvm_mul_rn_ftz_f:
628 case Intrinsic::nvvm_mul_rp_f:
629 case Intrinsic::nvvm_mul_rp_d:
630 case Intrinsic::nvvm_mul_rp_ftz_f:
632 case Intrinsic::nvvm_mul_rz_f:
633 case Intrinsic::nvvm_mul_rz_d:
634 case Intrinsic::nvvm_mul_rz_ftz_f:
641 switch (IntrinsicID) {
642 case Intrinsic::nvvm_div_rm_ftz_f:
643 case Intrinsic::nvvm_div_rn_ftz_f:
644 case Intrinsic::nvvm_div_rp_ftz_f:
645 case Intrinsic::nvvm_div_rz_ftz_f:
648 case Intrinsic::nvvm_div_rm_f:
649 case Intrinsic::nvvm_div_rn_f:
650 case Intrinsic::nvvm_div_rp_f:
651 case Intrinsic::nvvm_div_rz_f:
652 case Intrinsic::nvvm_div_rm_d:
653 case Intrinsic::nvvm_div_rn_d:
654 case Intrinsic::nvvm_div_rp_d:
655 case Intrinsic::nvvm_div_rz_d:
662 switch (IntrinsicID) {
663 case Intrinsic::nvvm_div_rm_f:
664 case Intrinsic::nvvm_div_rm_d:
665 case Intrinsic::nvvm_div_rm_ftz_f:
667 case Intrinsic::nvvm_div_rn_f:
668 case Intrinsic::nvvm_div_rn_d:
669 case Intrinsic::nvvm_div_rn_ftz_f:
671 case Intrinsic::nvvm_div_rp_f:
672 case Intrinsic::nvvm_div_rp_d:
673 case Intrinsic::nvvm_div_rp_ftz_f:
675 case Intrinsic::nvvm_div_rz_f:
676 case Intrinsic::nvvm_div_rz_d:
677 case Intrinsic::nvvm_div_rz_ftz_f:
684 switch (IntrinsicID) {
685 case Intrinsic::nvvm_fma_rm_ftz_f:
686 case Intrinsic::nvvm_fma_rn_ftz_f:
687 case Intrinsic::nvvm_fma_rp_ftz_f:
688 case Intrinsic::nvvm_fma_rz_ftz_f:
691 case Intrinsic::nvvm_fma_rm_f:
692 case Intrinsic::nvvm_fma_rn_f:
693 case Intrinsic::nvvm_fma_rp_f:
694 case Intrinsic::nvvm_fma_rz_f:
695 case Intrinsic::nvvm_fma_rm_d:
696 case Intrinsic::nvvm_fma_rn_d:
697 case Intrinsic::nvvm_fma_rp_d:
698 case Intrinsic::nvvm_fma_rz_d:
705 switch (IntrinsicID) {
706 case Intrinsic::nvvm_fma_rm_f:
707 case Intrinsic::nvvm_fma_rm_d:
708 case Intrinsic::nvvm_fma_rm_ftz_f:
710 case Intrinsic::nvvm_fma_rn_f:
711 case Intrinsic::nvvm_fma_rn_d:
712 case Intrinsic::nvvm_fma_rn_ftz_f:
714 case Intrinsic::nvvm_fma_rp_f:
715 case Intrinsic::nvvm_fma_rp_d:
716 case Intrinsic::nvvm_fma_rp_ftz_f:
718 case Intrinsic::nvvm_fma_rz_f:
719 case Intrinsic::nvvm_fma_rz_d:
720 case Intrinsic::nvvm_fma_rz_ftz_f:
This file declares a class to represent arbitrary precision floating point values and provide a varie...
This file implements a class to represent arbitrary precision integral constant values and operations...
This file contains the declarations for the subclasses of Constant, which represent the different fla...
static constexpr roundingMode rmTowardZero
llvm::RoundingMode roundingMode
IEEE-754R 4.3: Rounding-direction attributes.
static constexpr roundingMode rmTowardNegative
static constexpr roundingMode rmNearestTiesToEven
static constexpr roundingMode rmTowardPositive
This is an important base class in LLVM.
This class implements an extremely fast bulk output stream that can only output to a stream.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
APFloat::roundingMode GetFMARoundingMode(Intrinsic::ID IntrinsicID)
LLVM_ABI void printTensormapSwizzleMode(raw_ostream &OS, const Constant *ImmArgVal)
DenormalMode GetNVVMDenormMode(bool ShouldFTZ)
bool FPToIntegerIntrinsicNaNZero(Intrinsic::ID IntrinsicID)
LLVM_ABI void printTensormapInterleaveLayout(raw_ostream &OS, const Constant *ImmArgVal)
APFloat::roundingMode GetFDivRoundingMode(Intrinsic::ID IntrinsicID)
LLVM_ABI void printTensormapSwizzleAtomicity(raw_ostream &OS, const Constant *ImmArgVal)
TensormapSwizzleAtomicity
@ SWIZZLE_ATOMICITY_32B_FLIP_8B
bool FPToIntegerIntrinsicResultIsSigned(Intrinsic::ID IntrinsicID)
APFloat::roundingMode GetFPToIntegerRoundingMode(Intrinsic::ID IntrinsicID)
bool RCPShouldFTZ(Intrinsic::ID IntrinsicID)
bool FPToIntegerIntrinsicShouldFTZ(Intrinsic::ID IntrinsicID)
TensormapInterleaveLayout
bool FDivShouldFTZ(Intrinsic::ID IntrinsicID)
bool FAddShouldFTZ(Intrinsic::ID IntrinsicID)
bool FMinFMaxIsXorSignAbs(Intrinsic::ID IntrinsicID)
APFloat::roundingMode GetFMulRoundingMode(Intrinsic::ID IntrinsicID)
LLVM_ABI void printTcgen05MMAKind(raw_ostream &OS, const Constant *ImmArgVal)
LLVM_ABI void printTcgen05CollectorUsageOp(raw_ostream &OS, const Constant *ImmArgVal)
bool UnaryMathIntrinsicShouldFTZ(Intrinsic::ID IntrinsicID)
bool FMinFMaxShouldFTZ(Intrinsic::ID IntrinsicID)
APFloat::roundingMode GetFAddRoundingMode(Intrinsic::ID IntrinsicID)
bool FMAShouldFTZ(Intrinsic::ID IntrinsicID)
bool FMulShouldFTZ(Intrinsic::ID IntrinsicID)
LLVM_ABI void printTensormapFillMode(raw_ostream &OS, const Constant *ImmArgVal)
APFloat::roundingMode GetRCPRoundingMode(Intrinsic::ID IntrinsicID)
bool FMinFMaxPropagatesNaNs(Intrinsic::ID IntrinsicID)
LLVM_ABI void printTensormapElemType(raw_ostream &OS, const Constant *ImmArgVal)
This is an optimization pass for GlobalISel generic memory operations.
Represent subnormal handling kind for floating point instruction inputs and outputs.
static constexpr DenormalMode getPreserveSign()
static constexpr DenormalMode getIEEE()