@@ -378,13 +378,167 @@ func.func @_QPtest_real8(%arg0: !fir.ref<f64> {fir.bindc_name = "x"}) -> f64 {
378
378
func.func private @llvm.round.f32(f32) -> f32
379
379
func.func private @llvm.round.f64(f64) -> f64
380
380
381
+ //--- asin_fast.fir
382
+ // RUN: fir-opt %t/asin_fast.fir --fir-to-llvm-ir="target=x86_64-unknown-linux-gnu" | FileCheck %t/asin_fast.fir
383
+ // CHECK: @_QPtest_real4
384
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr.asin({{%[A-Za-z0-9._]+}}) : (f32) -> f32
385
+
386
+ // CHECK: @_QPtest_real8
387
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr.asin({{%[A-Za-z0-9._]+}}) : (f64) -> f64
388
+
389
+ func.func @_QPtest_real4(%arg0: !fir.ref<f32> {fir.bindc_name = "x"}) -> f32 {
390
+ %0 = fir.alloca f32 {bindc_name = "test_real4", uniq_name = "_QFtest_real4Etest_real4"}
391
+ %1 = fir.load %arg0 : !fir.ref<f32>
392
+ %2 = math.asin %1 : f32
393
+ fir.store %2 to %0 : !fir.ref<f32>
394
+ %3 = fir.load %0 : !fir.ref<f32>
395
+ return %3 : f32
396
+ }
397
+ func.func @_QPtest_real8(%arg0: !fir.ref<f64> {fir.bindc_name = "x"}) -> f64 {
398
+ %0 = fir.alloca f64 {bindc_name = "test_real8", uniq_name = "_QFtest_real8Etest_real8"}
399
+ %1 = fir.load %arg0 : !fir.ref<f64>
400
+ %2 = math.asin %1 : f64
401
+ fir.store %2 to %0 : !fir.ref<f64>
402
+ %3 = fir.load %0 : !fir.ref<f64>
403
+ return %3 : f64
404
+ }
405
+
406
+ //--- asin_relaxed.fir
407
+ // RUN: fir-opt %t/asin_relaxed.fir --fir-to-llvm-ir="target=x86_64-unknown-linux-gnu" | FileCheck %t/asin_relaxed.fir
408
+ // CHECK: @_QPtest_real4
409
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr.asin({{%[A-Za-z0-9._]+}}) : (f32) -> f32
410
+
411
+ // CHECK: @_QPtest_real8
412
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr.asin({{%[A-Za-z0-9._]+}}) : (f64) -> f64
413
+
414
+ func.func @_QPtest_real4(%arg0: !fir.ref<f32> {fir.bindc_name = "x"}) -> f32 {
415
+ %0 = fir.alloca f32 {bindc_name = "test_real4", uniq_name = "_QFtest_real4Etest_real4"}
416
+ %1 = fir.load %arg0 : !fir.ref<f32>
417
+ %2 = math.asin %1 : f32
418
+ fir.store %2 to %0 : !fir.ref<f32>
419
+ %3 = fir.load %0 : !fir.ref<f32>
420
+ return %3 : f32
421
+ }
422
+ func.func @_QPtest_real8(%arg0: !fir.ref<f64> {fir.bindc_name = "x"}) -> f64 {
423
+ %0 = fir.alloca f64 {bindc_name = "test_real8", uniq_name = "_QFtest_real8Etest_real8"}
424
+ %1 = fir.load %arg0 : !fir.ref<f64>
425
+ %2 = math.asin %1 : f64
426
+ fir.store %2 to %0 : !fir.ref<f64>
427
+ %3 = fir.load %0 : !fir.ref<f64>
428
+ return %3 : f64
429
+ }
430
+
431
+ //--- asin_precise.fir
432
+ // RUN: fir-opt %t/asin_precise.fir --fir-to-llvm-ir="target=x86_64-unknown-linux-gnu" | FileCheck %t/asin_precise.fir
433
+ // CHECK: @_QPtest_real4
434
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.call @asinf({{%[A-Za-z0-9._]+}}) : (f32) -> f32
435
+
436
+ // CHECK: @_QPtest_real8
437
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.call @asin({{%[A-Za-z0-9._]+}}) : (f64) -> f64
438
+
439
+ func.func @_QPtest_real4(%arg0: !fir.ref<f32> {fir.bindc_name = "x"}) -> f32 {
440
+ %0 = fir.alloca f32 {bindc_name = "test_real4", uniq_name = "_QFtest_real4Etest_real4"}
441
+ %1 = fir.load %arg0 : !fir.ref<f32>
442
+ %2 = fir.call @asinf(%1) : (f32) -> f32
443
+ fir.store %2 to %0 : !fir.ref<f32>
444
+ %3 = fir.load %0 : !fir.ref<f32>
445
+ return %3 : f32
446
+ }
447
+ func.func @_QPtest_real8(%arg0: !fir.ref<f64> {fir.bindc_name = "x"}) -> f64 {
448
+ %0 = fir.alloca f64 {bindc_name = "test_real8", uniq_name = "_QFtest_real8Etest_real8"}
449
+ %1 = fir.load %arg0 : !fir.ref<f64>
450
+ %2 = fir.call @asin(%1) : (f64) -> f64
451
+ fir.store %2 to %0 : !fir.ref<f64>
452
+ %3 = fir.load %0 : !fir.ref<f64>
453
+ return %3 : f64
454
+ }
455
+ func.func private @asinf(f32) -> f32
456
+ func.func private @asin(f64) -> f64
457
+
458
+ //--- acos_fast.fir
459
+ // RUN: fir-opt %t/acos_fast.fir --fir-to-llvm-ir="target=x86_64-unknown-linux-gnu" | FileCheck %t/acos_fast.fir
460
+ // CHECK: @_QPtest_real4
461
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr.acos({{%[A-Za-z0-9._]+}}) : (f32) -> f32
462
+
463
+ // CHECK: @_QPtest_real8
464
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr.acos({{%[A-Za-z0-9._]+}}) : (f64) -> f64
465
+
466
+ func.func @_QPtest_real4(%arg0: !fir.ref<f32> {fir.bindc_name = "x"}) -> f32 {
467
+ %0 = fir.alloca f32 {bindc_name = "test_real4", uniq_name = "_QFtest_real4Etest_real4"}
468
+ %1 = fir.load %arg0 : !fir.ref<f32>
469
+ %2 = math.acos %1 : f32
470
+ fir.store %2 to %0 : !fir.ref<f32>
471
+ %3 = fir.load %0 : !fir.ref<f32>
472
+ return %3 : f32
473
+ }
474
+ func.func @_QPtest_real8(%arg0: !fir.ref<f64> {fir.bindc_name = "x"}) -> f64 {
475
+ %0 = fir.alloca f64 {bindc_name = "test_real8", uniq_name = "_QFtest_real8Etest_real8"}
476
+ %1 = fir.load %arg0 : !fir.ref<f64>
477
+ %2 = math.acos %1 : f64
478
+ fir.store %2 to %0 : !fir.ref<f64>
479
+ %3 = fir.load %0 : !fir.ref<f64>
480
+ return %3 : f64
481
+ }
482
+
483
+ //--- acos_relaxed.fir
484
+ // RUN: fir-opt %t/acos_relaxed.fir --fir-to-llvm-ir="target=x86_64-unknown-linux-gnu" | FileCheck %t/acos_relaxed.fir
485
+ // CHECK: @_QPtest_real4
486
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr.acos({{%[A-Za-z0-9._]+}}) : (f32) -> f32
487
+
488
+ // CHECK: @_QPtest_real8
489
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr.acos({{%[A-Za-z0-9._]+}}) : (f64) -> f64
490
+
491
+ func.func @_QPtest_real4(%arg0: !fir.ref<f32> {fir.bindc_name = "x"}) -> f32 {
492
+ %0 = fir.alloca f32 {bindc_name = "test_real4", uniq_name = "_QFtest_real4Etest_real4"}
493
+ %1 = fir.load %arg0 : !fir.ref<f32>
494
+ %2 = math.acos %1 : f32
495
+ fir.store %2 to %0 : !fir.ref<f32>
496
+ %3 = fir.load %0 : !fir.ref<f32>
497
+ return %3 : f32
498
+ }
499
+ func.func @_QPtest_real8(%arg0: !fir.ref<f64> {fir.bindc_name = "x"}) -> f64 {
500
+ %0 = fir.alloca f64 {bindc_name = "test_real8", uniq_name = "_QFtest_real8Etest_real8"}
501
+ %1 = fir.load %arg0 : !fir.ref<f64>
502
+ %2 = math.acos %1 : f64
503
+ fir.store %2 to %0 : !fir.ref<f64>
504
+ %3 = fir.load %0 : !fir.ref<f64>
505
+ return %3 : f64
506
+ }
507
+
508
+ //--- acos_precise.fir
509
+ // RUN: fir-opt %t/acos_precise.fir --fir-to-llvm-ir="target=x86_64-unknown-linux-gnu" | FileCheck %t/acos_precise.fir
510
+ // CHECK: @_QPtest_real4
511
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.call @acosf({{%[A-Za-z0-9._]+}}) : (f32) -> f32
512
+
513
+ // CHECK: @_QPtest_real8
514
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.call @acos({{%[A-Za-z0-9._]+}}) : (f64) -> f64
515
+
516
+ func.func @_QPtest_real4(%arg0: !fir.ref<f32> {fir.bindc_name = "x"}) -> f32 {
517
+ %0 = fir.alloca f32 {bindc_name = "test_real4", uniq_name = "_QFtest_real4Etest_real4"}
518
+ %1 = fir.load %arg0 : !fir.ref<f32>
519
+ %2 = fir.call @acosf(%1) : (f32) -> f32
520
+ fir.store %2 to %0 : !fir.ref<f32>
521
+ %3 = fir.load %0 : !fir.ref<f32>
522
+ return %3 : f32
523
+ }
524
+ func.func @_QPtest_real8(%arg0: !fir.ref<f64> {fir.bindc_name = "x"}) -> f64 {
525
+ %0 = fir.alloca f64 {bindc_name = "test_real8", uniq_name = "_QFtest_real8Etest_real8"}
526
+ %1 = fir.load %arg0 : !fir.ref<f64>
527
+ %2 = fir.call @acos(%1) : (f64) -> f64
528
+ fir.store %2 to %0 : !fir.ref<f64>
529
+ %3 = fir.load %0 : !fir.ref<f64>
530
+ return %3 : f64
531
+ }
532
+ func.func private @acosf(f32) -> f32
533
+ func.func private @acos(f64) -> f64
534
+
381
535
//--- atan_fast.fir
382
536
// RUN: fir-opt %t/atan_fast.fir --fir-to-llvm-ir="target=x86_64-unknown-linux-gnu" | FileCheck %t/atan_fast.fir
383
537
// CHECK: @_QPtest_real4
384
- // CHECK: {{%[A-Za-z0-9._]+}} = llvm.call @atanf ({{%[A-Za-z0-9._]+}}) : (f32) -> f32
538
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr.atan ({{%[A-Za-z0-9._]+}}) : (f32) -> f32
385
539
386
540
// CHECK: @_QPtest_real8
387
- // CHECK: {{%[A-Za-z0-9._]+}} = llvm.call @ atan({{%[A-Za-z0-9._]+}}) : (f64) -> f64
541
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr. atan({{%[A-Za-z0-9._]+}}) : (f64) -> f64
388
542
389
543
func.func @_QPtest_real4(%arg0: !fir.ref<f32> {fir.bindc_name = "x"}) -> f32 {
390
544
%0 = fir.alloca f32 {bindc_name = "test_real4", uniq_name = "_QFtest_real4Etest_real4"}
@@ -406,10 +560,10 @@ func.func @_QPtest_real8(%arg0: !fir.ref<f64> {fir.bindc_name = "x"}) -> f64 {
406
560
//--- atan_relaxed.fir
407
561
// RUN: fir-opt %t/atan_relaxed.fir --fir-to-llvm-ir="target=x86_64-unknown-linux-gnu" | FileCheck %t/atan_relaxed.fir
408
562
// CHECK: @_QPtest_real4
409
- // CHECK: {{%[A-Za-z0-9._]+}} = llvm.call @atanf ({{%[A-Za-z0-9._]+}}) : (f32) -> f32
563
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr.atan ({{%[A-Za-z0-9._]+}}) : (f32) -> f32
410
564
411
565
// CHECK: @_QPtest_real8
412
- // CHECK: {{%[A-Za-z0-9._]+}} = llvm.call @ atan({{%[A-Za-z0-9._]+}}) : (f64) -> f64
566
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr. atan({{%[A-Za-z0-9._]+}}) : (f64) -> f64
413
567
414
568
func.func @_QPtest_real4(%arg0: !fir.ref<f32> {fir.bindc_name = "x"}) -> f32 {
415
569
%0 = fir.alloca f32 {bindc_name = "test_real4", uniq_name = "_QFtest_real4Etest_real4"}
@@ -458,10 +612,10 @@ func.func private @atan(f64) -> f64
458
612
//--- atan2_fast.fir
459
613
// RUN: fir-opt %t/atan2_fast.fir --fir-to-llvm-ir="target=x86_64-unknown-linux-gnu" | FileCheck %t/atan2_fast.fir
460
614
// CHECK: @_QPtest_real4
461
- // CHECK: {{%[A-Za-z0-9._]+}} = llvm.call @atan2f ({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f32, f32) -> f32
615
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr.atan2 ({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f32, f32) -> f32
462
616
463
617
// CHECK: @_QPtest_real8
464
- // CHECK: {{%[A-Za-z0-9._]+}} = llvm.call @ atan2({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f64, f64) -> f64
618
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr. atan2({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f64, f64) -> f64
465
619
466
620
func.func @_QPtest_real4(%arg0: !fir.ref<f32> {fir.bindc_name = "x"}, %arg1: !fir.ref<f32> {fir.bindc_name = "y"}) -> f32 {
467
621
%0 = fir.alloca f32 {bindc_name = "test_real4", uniq_name = "_QFtest_real4Etest_real4"}
@@ -485,10 +639,10 @@ func.func @_QPtest_real8(%arg0: !fir.ref<f64> {fir.bindc_name = "x"}, %arg1: !fi
485
639
//--- atan2_relaxed.fir
486
640
// RUN: fir-opt %t/atan2_relaxed.fir --fir-to-llvm-ir="target=x86_64-unknown-linux-gnu" | FileCheck %t/atan2_relaxed.fir
487
641
// CHECK: @_QPtest_real4
488
- // CHECK: {{%[A-Za-z0-9._]+}} = llvm.call @atan2f ({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f32, f32) -> f32
642
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr.atan2 ({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f32, f32) -> f32
489
643
490
644
// CHECK: @_QPtest_real8
491
- // CHECK: {{%[A-Za-z0-9._]+}} = llvm.call @ atan2({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f64, f64) -> f64
645
+ // CHECK: {{%[A-Za-z0-9._]+}} = llvm.intr. atan2({{%[A-Za-z0-9._]+}}, {{%[A-Za-z0-9._]+}}) : (f64, f64) -> f64
492
646
493
647
func.func @_QPtest_real4(%arg0: !fir.ref<f32> {fir.bindc_name = "x"}, %arg1: !fir.ref<f32> {fir.bindc_name = "y"}) -> f32 {
494
648
%0 = fir.alloca f32 {bindc_name = "test_real4", uniq_name = "_QFtest_real4Etest_real4"}
0 commit comments