@@ -68,7 +68,7 @@ namespace paddle {
68
68
// memory access of float16 struct and also makes float16 compatible
69
69
// with CUDA half, ARM float16_t, and Eigen::half data types.
70
70
struct PADDLE_ALIGN (2 ) float16 {
71
- public:
71
+ public:
72
72
uint16_t x;
73
73
74
74
// Constructors
@@ -319,7 +319,7 @@ struct PADDLE_ALIGN(2) float16 {
319
319
return static_cast <double >(float (*this ));
320
320
}
321
321
322
- private:
322
+ private:
323
323
union Bits {
324
324
float f;
325
325
int32_t si;
@@ -485,8 +485,7 @@ HOST inline float16 operator+(const float16& a, const float16& b) {
485
485
" st1 {v0.h}[0], [%[res_ptr]]\n "
486
486
: // outputs
487
487
: // inputs
488
- [a_ptr] " r" (&(a.x )),
489
- [b_ptr] " r" (&(b.x )),
488
+ [a_ptr] " r" (&(a.x )), [b_ptr] " r" (&(b.x )),
490
489
[res_ptr] " r" (&(res.x ))
491
490
: // clobbers
492
491
" memory" , " v0" , " v1" );
@@ -502,8 +501,7 @@ HOST inline float16 operator-(const float16& a, const float16& b) {
502
501
" st1 {v0.h}[0], [%[res_ptr]]\n "
503
502
: // outputs
504
503
: // inputs
505
- [a_ptr] " r" (&(a.x )),
506
- [b_ptr] " r" (&(b.x )),
504
+ [a_ptr] " r" (&(a.x )), [b_ptr] " r" (&(b.x )),
507
505
[res_ptr] " r" (&(res.x ))
508
506
: // clobbers
509
507
" memory" , " v0" , " v1" );
@@ -519,8 +517,7 @@ HOST inline float16 operator*(const float16& a, const float16& b) {
519
517
" st1 {v0.h}[0], [%[res_ptr]]\n "
520
518
: // outputs
521
519
: // inputs
522
- [a_ptr] " r" (&(a.x )),
523
- [b_ptr] " r" (&(b.x )),
520
+ [a_ptr] " r" (&(a.x )), [b_ptr] " r" (&(b.x )),
524
521
[res_ptr] " r" (&(res.x ))
525
522
: // clobbers
526
523
" memory" , " v0" , " v1" );
@@ -536,8 +533,7 @@ HOST inline float16 operator/(const float16& a, const float16& b) {
536
533
" st1 {v0.h}[0], [%[res_ptr]]\n "
537
534
: // outputs
538
535
: // inputs
539
- [a_ptr] " r" (&(a.x )),
540
- [b_ptr] " r" (&(b.x )),
536
+ [a_ptr] " r" (&(a.x )), [b_ptr] " r" (&(b.x )),
541
537
[res_ptr] " r" (&(res.x ))
542
538
: // clobbers
543
539
" memory" , " v0" , " v1" );
@@ -588,8 +584,7 @@ HOST inline bool operator==(const float16& a, const float16& b) {
588
584
" st1 {v0.h}[0], [%[res_ptr]]\n "
589
585
: // outputs
590
586
: // inputs
591
- [a_ptr] " r" (&(a.x )),
592
- [b_ptr] " r" (&(b.x )),
587
+ [a_ptr] " r" (&(a.x )), [b_ptr] " r" (&(b.x )),
593
588
[res_ptr] " r" (&res)
594
589
: // clobbers
595
590
" memory" , " v0" , " v1" );
@@ -609,8 +604,7 @@ HOST inline bool operator<(const float16& a, const float16& b) {
609
604
" st1 {v0.h}[0], [%[res_ptr]]\n "
610
605
: // outputs
611
606
: // inputs
612
- [a_ptr] " r" (&(a.x )),
613
- [b_ptr] " r" (&(b.x )),
607
+ [a_ptr] " r" (&(a.x )), [b_ptr] " r" (&(b.x )),
614
608
[res_ptr] " r" (&res)
615
609
: // clobbers
616
610
" memory" , " v0" , " v1" );
@@ -626,8 +620,7 @@ HOST inline bool operator<=(const float16& a, const float16& b) {
626
620
" st1 {v0.h}[0], [%[res_ptr]]\n "
627
621
: // outputs
628
622
: // inputs
629
- [a_ptr] " r" (&(a.x )),
630
- [b_ptr] " r" (&(b.x )),
623
+ [a_ptr] " r" (&(a.x )), [b_ptr] " r" (&(b.x )),
631
624
[res_ptr] " r" (&res)
632
625
: // clobbers
633
626
" memory" , " v0" , " v1" );
@@ -643,8 +636,7 @@ HOST inline bool operator>(const float16& a, const float16& b) {
643
636
" st1 {v0.h}[0], [%[res_ptr]]\n "
644
637
: // outputs
645
638
: // inputs
646
- [a_ptr] " r" (&(a.x )),
647
- [b_ptr] " r" (&(b.x )),
639
+ [a_ptr] " r" (&(a.x )), [b_ptr] " r" (&(b.x )),
648
640
[res_ptr] " r" (&res)
649
641
: // clobbers
650
642
" memory" , " v0" , " v1" );
@@ -660,8 +652,7 @@ HOST inline bool operator>=(const float16& a, const float16& b) {
660
652
" st1 {v0.h}[0], [%[res_ptr]]\n "
661
653
: // outputs
662
654
: // inputs
663
- [a_ptr] " r" (&(a.x )),
664
- [b_ptr] " r" (&(b.x )),
655
+ [a_ptr] " r" (&(a.x )), [b_ptr] " r" (&(b.x )),
665
656
[res_ptr] " r" (&res)
666
657
: // clobbers
667
658
" memory" , " v0" , " v1" );
0 commit comments