Add support for built in 16bit byte swap.

-James

Index: include/clang/Basic/Builtins.def
===================================================================
--- include/clang/Basic/Builtins.def    (revision 127948)
+++ include/clang/Basic/Builtins.def    (working copy)
@@ -380,6 +380,7 @@
 
 // FIXME: These type signatures are not correct for targets with int != 32-bits
 // or with ULL != 64-bits.
+BUILTIN(__builtin_bswap16, "UsUs", "nc")
 BUILTIN(__builtin_bswap32, "UiUi", "nc")
 BUILTIN(__builtin_bswap64, "ULLiULLi", "nc")
 
Index: lib/CodeGen/CGBuiltin.cpp
===================================================================
--- lib/CodeGen/CGBuiltin.cpp   (revision 127948)
+++ lib/CodeGen/CGBuiltin.cpp   (working copy)
@@ -316,6 +316,7 @@
       (void)EmitScalarExpr(E->getArg(1));
     return RValue::get(EmitScalarExpr(E->getArg(0)));
   }
+  case Builtin::BI__builtin_bswap16:  
   case Builtin::BI__builtin_bswap32:
   case Builtin::BI__builtin_bswap64: {
     Value *ArgValue = EmitScalarExpr(E->getArg(0));

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to