[PATCH] D41523: xmmintrin.h documentation fixes and updates

2018-01-17 Thread Douglas Yung via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rC322778: [DOXYGEN] Fix doxygen and content issues in 
xmmintrin.h (authored by dyung, committed by ).

Repository:
  rC Clang

https://reviews.llvm.org/D41523

Files:
  lib/Headers/xmmintrin.h

Index: lib/Headers/xmmintrin.h
===
--- lib/Headers/xmmintrin.h
+++ lib/Headers/xmmintrin.h
@@ -1011,6 +1011,8 @@
 /// \brief Compares two 32-bit float values in the low-order bits of both
 ///operands for equality and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS 
@@ -1022,7 +1024,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the
+///two lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comieq_ss(__m128 __a, __m128 __b)
 {
@@ -1033,6 +1036,8 @@
 ///operands to determine if the first operand is less than the second
 ///operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS 
@@ -1044,7 +1049,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the two
+/// lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comilt_ss(__m128 __a, __m128 __b)
 {
@@ -1055,6 +1061,8 @@
 ///operands to determine if the first operand is less than or equal to the
 ///second operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS  instructions.
@@ -1065,7 +1073,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the two
+/// lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comile_ss(__m128 __a, __m128 __b)
 {
@@ -1076,6 +1085,8 @@
 ///operands to determine if the first operand is greater than the second
 ///operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS  instructions.
@@ -1086,7 +1097,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the
+/// two lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comigt_ss(__m128 __a, __m128 __b)
 {
@@ -1097,6 +1109,8 @@
 ///operands to determine if the first operand is greater than or equal to
 ///the second operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS  instructions.
@@ -1107,7 +1121,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the two
+///lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comige_ss(__m128 __a, __m128 __b)
 {
@@ -1118,6 +1133,8 @@
 ///operands to determine if the first operand is not equal to the second
 ///operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 1 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS  instructions.
@@ -1128,7 +1145,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the
+/// two lower 32-bit values is NaN, 1 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comineq_ss(__m128 __a, __m128 

[PATCH] D41523: xmmintrin.h documentation fixes and updates

2018-01-15 Thread Craig Topper via Phabricator via cfe-commits
craig.topper accepted this revision.
craig.topper added a comment.
This revision is now accepted and ready to land.

LGTM


https://reviews.llvm.org/D41523



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D41523: xmmintrin.h documentation fixes and updates

2018-01-15 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added a comment.

Apart for the -Wdocumentation issue (which can be handled separately), is there 
anything else stalling this ticket?


https://reviews.llvm.org/D41523



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D41523: xmmintrin.h documentation fixes and updates

2018-01-08 Thread Katya Romanova via Phabricator via cfe-commits
kromanova added a comment.

In https://reviews.llvm.org/D41523#968776, @craig.topper wrote:

> The builtins are tested in tests like test/CodeGen/sse-builtins.c,


Thank you!

I wonder if -Wdocumentation is working... 
I have enabled it for a few tests, like avx-builtins.c, sse-builtins.c and 
re-run the tests; everything was fine, no errors.

I was suspicious that -Wdocumentation might not be catching the errors and 
intentionally broke a few doxygen comments in avxintrin.h header for  
_mm256_add_pd and _mm256_add_ps (these intrinsics were the first ones used in 
avx-builtins.c) by mismatching the parameter names in the doxygen comments and 
in definitions, by removing doxygen comments section describing the parameter 
names and eventually by removing the entire doxygen comment for these 
intrinsics. However, -Wdocumentation -Werror haven't reported any errors.

Am I missing something? What kind of "documentation" problems -Wocumentation 
option catches?


https://reviews.llvm.org/D41523



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D41523: xmmintrin.h documentation fixes and updates

2018-01-08 Thread Douglas Yung via Phabricator via cfe-commits
dyung updated this revision to Diff 129021.
dyung added a comment.

Update review based on feedback.


https://reviews.llvm.org/D41523

Files:
  lib/Headers/xmmintrin.h

Index: lib/Headers/xmmintrin.h
===
--- lib/Headers/xmmintrin.h
+++ lib/Headers/xmmintrin.h
@@ -1011,6 +1011,8 @@
 /// \brief Compares two 32-bit float values in the low-order bits of both
 ///operands for equality and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS 
@@ -1022,7 +1024,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the
+///two lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comieq_ss(__m128 __a, __m128 __b)
 {
@@ -1033,6 +1036,8 @@
 ///operands to determine if the first operand is less than the second
 ///operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS 
@@ -1044,7 +1049,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the two
+/// lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comilt_ss(__m128 __a, __m128 __b)
 {
@@ -1055,6 +1061,8 @@
 ///operands to determine if the first operand is less than or equal to the
 ///second operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS  instructions.
@@ -1065,7 +1073,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the two
+/// lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comile_ss(__m128 __a, __m128 __b)
 {
@@ -1076,6 +1085,8 @@
 ///operands to determine if the first operand is greater than the second
 ///operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS  instructions.
@@ -1086,7 +1097,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the
+/// two lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comigt_ss(__m128 __a, __m128 __b)
 {
@@ -1097,6 +1109,8 @@
 ///operands to determine if the first operand is greater than or equal to
 ///the second operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS  instructions.
@@ -1107,7 +1121,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the two
+///lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comige_ss(__m128 __a, __m128 __b)
 {
@@ -1118,6 +1133,8 @@
 ///operands to determine if the first operand is not equal to the second
 ///operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 1 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS  instructions.
@@ -1128,7 +1145,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the
+/// two lower 32-bit values is NaN, 1 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comineq_ss(__m128 __a, __m128 __b)
 {
@@ -1139,6 +1157,8 @@
 ///the low-order bits of both operands to determine equality and returns
 ///

[PATCH] D41523: xmmintrin.h documentation fixes and updates

2018-01-08 Thread Douglas Yung via Phabricator via cfe-commits
dyung added inline comments.



Comment at: lib/Headers/xmmintrin.h:1927
 ///
-/// This intrinsic corresponds to the  VPEXTRQ / MOVQ  instruction.
+/// This intrinsic corresponds to the  VPEXTRQ / PEXTRQ  instruction.
 ///

RKSimon wrote:
> Not necessarily, it could be (v)movhps/(v)movhpd - but those are tricky to 
> generate in current isel.
Would it be preferred then for this to be the following:

```
/// This intrinsic corresponds to the  VPEXTRQ / PEXTRQ / VMOVHPS / VMOVHPD 
/ MOVHPS / MOVHPD  instruction.
```


https://reviews.llvm.org/D41523



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D41523: xmmintrin.h documentation fixes and updates

2018-01-05 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added a comment.

The builtins are tested in tests like test/CodeGen/sse-builtins.c


https://reviews.llvm.org/D41523



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D41523: xmmintrin.h documentation fixes and updates

2018-01-05 Thread Katya Romanova via Phabricator via cfe-commits
kromanova added a comment.

In https://reviews.llvm.org/D41523#968359, @RKSimon wrote:

> Sort of related - should we enable -Wdocumentation (it's currently -Wall and 
> -Weverything might be too much) on the respective clang builtin tests? 
> Doesn't have to be part of this patch.


Good idea, Simon. I will give it a shot. Could you please let me know the name 
of the directory, where clang builtin tests are located?


https://reviews.llvm.org/D41523



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D41523: xmmintrin.h documentation fixes and updates

2018-01-05 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added a comment.

Sort of related - should we enable -Wdocumentation (it's currently -Wall and 
-Weverything might be too much) on the respective clang builtin tests? 
Doesn't have to be part of this patch.




Comment at: lib/Headers/xmmintrin.h:1927
 ///
-/// This intrinsic corresponds to the  VPEXTRQ / MOVQ  instruction.
+/// This intrinsic corresponds to the  VPEXTRQ / PEXTRQ  instruction.
 ///

Not necessarily, it could be (v)movhps/(v)movhpd - but those are tricky to 
generate in current isel.


https://reviews.llvm.org/D41523



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D41523: xmmintrin.h documentation fixes and updates

2018-01-04 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments.



Comment at: lib/Headers/xmmintrin.h:2199
 ///
-/// This intrinsic corresponds to the  VPINSRW / PINSRW  instruction.
+/// This intrinsic corresponds to the  PINSRW  instruction.
 ///

kromanova wrote:
> craig.topper wrote:
> > Why is VPINSRW removed?
> I suspect the rational is the same I talked about in mmintrin.h review. 
> This intrinsic should use MMX registers and shouldn't have corresponding AVX 
> instruction(s).
> 
> I've tried this and with or without -mavx for Linux/x86_64 we generate PINSRW 
> in both cases (i.e. I wasn't able to trigger generation of VEX prefixed 
> instruction).
> 
> __m64 foo (__m64 a, int b)
> {
>   __m64 x;
>   x = _mm_insert_pi16 (a, b, 0);
>   return x;
> }
> 
I didn't realize this was a MMX type intrinsic in the xmmintrin file. So 
VPINSRW being removed makes sense. Sorry for the noise.


https://reviews.llvm.org/D41523



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D41523: xmmintrin.h documentation fixes and updates

2018-01-04 Thread Katya Romanova via Phabricator via cfe-commits
kromanova added inline comments.



Comment at: lib/Headers/xmmintrin.h:2199
 ///
-/// This intrinsic corresponds to the  VPINSRW / PINSRW  instruction.
+/// This intrinsic corresponds to the  PINSRW  instruction.
 ///

craig.topper wrote:
> Why is VPINSRW removed?
I suspect the rational is the same I talked about in mmintrin.h review. 
This intrinsic should use MMX registers and shouldn't have corresponding AVX 
instruction(s).

I've tried this and with or without -mavx for Linux/x86_64 we generate PINSRW 
in both cases (i.e. I wasn't able to trigger generation of VEX prefixed 
instruction).

__m64 foo (__m64 a, int b)
{
  __m64 x;
  x = _mm_insert_pi16 (a, b, 0);
  return x;
}




Comment at: lib/Headers/xmmintrin.h:2659
 ///
-/// This intrinsic corresponds to the  VMOVSS / MOVSS  instruction.
+/// This intrinsic corresponds to the  VBLENDPS / BLENDPS  instruction.
 ///

craig.topper wrote:
> MOVSS is correct for pre SSE4.1 targets.
That's correct.
Doug, I think we should write:
VBLENDPS / BLENDPS / MOVSS


https://reviews.llvm.org/D41523



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D41523: xmmintrin.h documentation fixes and updates

2017-12-22 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments.



Comment at: lib/Headers/xmmintrin.h:1706
 ///
-/// This intrinsic corresponds to the  VMOVSS / MOVSS + shuffling 
+/// This intrinsic corresponds to the  VBROADCASTSS / BROADCASTSS 
 ///instruction.

There is no BROADCASTSS instruction. That's an AVX instruction that only exists 
as VBROADCASTSS. The orginal comment was correct for pre-AVX.



Comment at: lib/Headers/xmmintrin.h:2199
 ///
-/// This intrinsic corresponds to the  VPINSRW / PINSRW  instruction.
+/// This intrinsic corresponds to the  PINSRW  instruction.
 ///

Why is VPINSRW removed?



Comment at: lib/Headers/xmmintrin.h:2659
 ///
-/// This intrinsic corresponds to the  VMOVSS / MOVSS  instruction.
+/// This intrinsic corresponds to the  VBLENDPS / BLENDPS  instruction.
 ///

MOVSS is correct for pre SSE4.1 targets.


https://reviews.llvm.org/D41523



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D41523: xmmintrin.h documentation fixes and updates

2017-12-21 Thread Douglas Yung via Phabricator via cfe-commits
dyung created this revision.

This is the result of several patches we made internally to update the 
documentation that we would like to have reviewed for possible submission.

The changes include:

1. Fix inaccurate instruction listings.
2. Fix small issues in _mm_getcsr and _mm_setcsr.
3. Fix description of NaN handling in comparison intrinsics.
4. Fix inaccurate description of _mm_movemask_pi8.
5. Fix inaccurate instruction mappings.
6. Fix typos.
7. Clarify wording on some descriptions.
8. Fix bit ranges in return value.
9. Fix typo in _mm_move_ms intrinsic instruction since it operates on 
singe-precision values, not double.

These patches were made by Craig Flores


https://reviews.llvm.org/D41523

Files:
  lib/Headers/xmmintrin.h

Index: lib/Headers/xmmintrin.h
===
--- lib/Headers/xmmintrin.h
+++ lib/Headers/xmmintrin.h
@@ -1011,6 +1011,8 @@
 /// \brief Compares two 32-bit float values in the low-order bits of both
 ///operands for equality and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS 
@@ -1022,7 +1024,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the
+///two lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comieq_ss(__m128 __a, __m128 __b)
 {
@@ -1033,6 +1036,8 @@
 ///operands to determine if the first operand is less than the second
 ///operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS 
@@ -1044,7 +1049,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the two
+/// lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comilt_ss(__m128 __a, __m128 __b)
 {
@@ -1055,6 +1061,8 @@
 ///operands to determine if the first operand is less than or equal to the
 ///second operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS  instructions.
@@ -1065,7 +1073,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the two
+/// lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comile_ss(__m128 __a, __m128 __b)
 {
@@ -1076,6 +1085,8 @@
 ///operands to determine if the first operand is greater than the second
 ///operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS  instructions.
@@ -1086,7 +1097,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the
+/// two lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comigt_ss(__m128 __a, __m128 __b)
 {
@@ -1097,6 +1109,8 @@
 ///operands to determine if the first operand is greater than or equal to
 ///the second operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 0 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic corresponds to the  VCOMISS / COMISS  instructions.
@@ -1107,7 +1121,8 @@
 /// \param __b
 ///A 128-bit vector of [4 x float]. The lower 32 bits of this operand are
 ///used in the comparison.
-/// \returns An integer containing the comparison results.
+/// \returns An integer containing the comparison results. If either of the two
+///lower 32-bit values is NaN, 0 is returned.
 static __inline__ int __DEFAULT_FN_ATTRS
 _mm_comige_ss(__m128 __a, __m128 __b)
 {
@@ -1118,6 +1133,8 @@
 ///operands to determine if the first operand is not equal to the second
 ///operand and returns the result of the comparison.
 ///
+///If either of the two lower 32-bit values is NaN, 1 is returned.
+///
 /// \headerfile 
 ///
 /// This intrinsic