| OLD | NEW |
| 1 //===- subzero/src/IceIntrinsics.cpp - Functions related to intrinsics ----===// | 1 //===- subzero/src/IceIntrinsics.cpp - Functions related to intrinsics ----===// |
| 2 // | 2 // |
| 3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This file implements the Intrinsics utilities for matching and | 10 // This file implements the Intrinsics utilities for matching and |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 { \ | 152 { \ |
| 153 INTRIN(Cttz, SideEffects_F, ReturnsTwice_F) \ | 153 INTRIN(Cttz, SideEffects_F, ReturnsTwice_F) \ |
| 154 , {Overload, Overload, IceType_i1}, 3 \ | 154 , {Overload, Overload, IceType_i1}, 3 \ |
| 155 } \ | 155 } \ |
| 156 , "cttz." NameSuffix \ | 156 , "cttz." NameSuffix \ |
| 157 } | 157 } |
| 158 CttzInit(IceType_i32, "i32"), | 158 CttzInit(IceType_i32, "i32"), |
| 159 CttzInit(IceType_i64, "i64"), | 159 CttzInit(IceType_i64, "i64"), |
| 160 #undef CttzInit | 160 #undef CttzInit |
| 161 | 161 |
| 162 #define FabsInit(Overload, NameSuffix) \ |
| 163 { \ |
| 164 { INTRIN(Fabs, SideEffects_F, ReturnsTwice_F), {Overload, Overload}, 2 } \ |
| 165 , "fabs." NameSuffix \ |
| 166 } |
| 167 FabsInit(IceType_f32, "f32"), |
| 168 FabsInit(IceType_f64, "f64"), |
| 169 FabsInit(IceType_v4f32, "v4f32"), |
| 170 #undef FabsInit |
| 171 |
| 162 {{INTRIN(Longjmp, SideEffects_T, ReturnsTwice_F), | 172 {{INTRIN(Longjmp, SideEffects_T, ReturnsTwice_F), |
| 163 {IceType_void, IceType_i32, IceType_i32}, | 173 {IceType_void, IceType_i32, IceType_i32}, |
| 164 3}, | 174 3}, |
| 165 "nacl.longjmp"}, | 175 "nacl.longjmp"}, |
| 166 {{INTRIN(Memcpy, SideEffects_T, ReturnsTwice_F), | 176 {{INTRIN(Memcpy, SideEffects_T, ReturnsTwice_F), |
| 167 {IceType_void, IceType_i32, IceType_i32, IceType_i32, IceType_i32, | 177 {IceType_void, IceType_i32, IceType_i32, IceType_i32, IceType_i32, |
| 168 IceType_i1}, | 178 IceType_i1}, |
| 169 6}, | 179 6}, |
| 170 "memcpy.p0i8.p0i8.i32"}, | 180 "memcpy.p0i8.p0i8.i32"}, |
| 171 {{INTRIN(Memmove, SideEffects_T, ReturnsTwice_F), | 181 {{INTRIN(Memmove, SideEffects_T, ReturnsTwice_F), |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 return Intrinsics::IsValidCall; | 335 return Intrinsics::IsValidCall; |
| 326 } | 336 } |
| 327 | 337 |
| 328 Type Intrinsics::FullIntrinsicInfo::getArgType(SizeT Index) const { | 338 Type Intrinsics::FullIntrinsicInfo::getArgType(SizeT Index) const { |
| 329 assert(NumTypes > 1); | 339 assert(NumTypes > 1); |
| 330 assert(Index + 1 < NumTypes); | 340 assert(Index + 1 < NumTypes); |
| 331 return Signature[Index + 1]; | 341 return Signature[Index + 1]; |
| 332 } | 342 } |
| 333 | 343 |
| 334 } // end of namespace Ice | 344 } // end of namespace Ice |
| OLD | NEW |