Skip to content

Commit 9aacccd

Browse files
committed
WIP
1 parent 53a21df commit 9aacccd

File tree

4 files changed

+33
-366
lines changed

4 files changed

+33
-366
lines changed

clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -972,6 +972,16 @@ uint64_t dot(uint64_t3, uint64_t3);
972972
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
973973
uint64_t dot(uint64_t4, uint64_t4);
974974

975+
//===----------------------------------------------------------------------===//
976+
// dot2add builtins
977+
//===----------------------------------------------------------------------===//
978+
979+
/// \fn float dot2add(half2 a, half2 b, float c)
980+
981+
_HLSL_AVAILABILITY(shadermodel, 6.4)
982+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot2add)
983+
float dot2add(half2, half2, float);
984+
975985
//===----------------------------------------------------------------------===//
976986
// dot4add builtins
977987
//===----------------------------------------------------------------------===//

clang/lib/Headers/hlsl/hlsl_intrinsics.h

Lines changed: 0 additions & 366 deletions
Original file line numberDiff line numberDiff line change
@@ -176,372 +176,6 @@ const inline float distance(__detail::HLSL_FIXED_VECTOR<float, N> X,
176176
}
177177

178178
//===----------------------------------------------------------------------===//
179-
<<<<<<< Updated upstream
180-
=======
181-
// dot product builtins
182-
//===----------------------------------------------------------------------===//
183-
184-
/// \fn K dot(T X, T Y)
185-
/// \brief Return the dot product (a scalar value) of \a X and \a Y.
186-
/// \param X The X input value.
187-
/// \param Y The Y input value.
188-
189-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
190-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
191-
half dot(half, half);
192-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
193-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
194-
half dot(half2, half2);
195-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
196-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
197-
half dot(half3, half3);
198-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
199-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
200-
half dot(half4, half4);
201-
202-
#ifdef __HLSL_ENABLE_16_BIT
203-
_HLSL_AVAILABILITY(shadermodel, 6.2)
204-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
205-
int16_t dot(int16_t, int16_t);
206-
_HLSL_AVAILABILITY(shadermodel, 6.2)
207-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
208-
int16_t dot(int16_t2, int16_t2);
209-
_HLSL_AVAILABILITY(shadermodel, 6.2)
210-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
211-
int16_t dot(int16_t3, int16_t3);
212-
_HLSL_AVAILABILITY(shadermodel, 6.2)
213-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
214-
int16_t dot(int16_t4, int16_t4);
215-
216-
_HLSL_AVAILABILITY(shadermodel, 6.2)
217-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
218-
uint16_t dot(uint16_t, uint16_t);
219-
_HLSL_AVAILABILITY(shadermodel, 6.2)
220-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
221-
uint16_t dot(uint16_t2, uint16_t2);
222-
_HLSL_AVAILABILITY(shadermodel, 6.2)
223-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
224-
uint16_t dot(uint16_t3, uint16_t3);
225-
_HLSL_AVAILABILITY(shadermodel, 6.2)
226-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
227-
uint16_t dot(uint16_t4, uint16_t4);
228-
#endif
229-
230-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
231-
float dot(float, float);
232-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
233-
float dot(float2, float2);
234-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
235-
float dot(float3, float3);
236-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
237-
float dot(float4, float4);
238-
239-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
240-
double dot(double, double);
241-
242-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
243-
int dot(int, int);
244-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
245-
int dot(int2, int2);
246-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
247-
int dot(int3, int3);
248-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
249-
int dot(int4, int4);
250-
251-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
252-
uint dot(uint, uint);
253-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
254-
uint dot(uint2, uint2);
255-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
256-
uint dot(uint3, uint3);
257-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
258-
uint dot(uint4, uint4);
259-
260-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
261-
int64_t dot(int64_t, int64_t);
262-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
263-
int64_t dot(int64_t2, int64_t2);
264-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
265-
int64_t dot(int64_t3, int64_t3);
266-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
267-
int64_t dot(int64_t4, int64_t4);
268-
269-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
270-
uint64_t dot(uint64_t, uint64_t);
271-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
272-
uint64_t dot(uint64_t2, uint64_t2);
273-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
274-
uint64_t dot(uint64_t3, uint64_t3);
275-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
276-
uint64_t dot(uint64_t4, uint64_t4);
277-
278-
//===----------------------------------------------------------------------===//
279-
// dot4add builtins
280-
//===----------------------------------------------------------------------===//
281-
282-
/// \fn int dot4add_i8packed(uint A, uint B, int C)
283-
284-
_HLSL_AVAILABILITY(shadermodel, 6.4)
285-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot4add_i8packed)
286-
int dot4add_i8packed(uint, uint, int);
287-
288-
/// \fn uint dot4add_u8packed(uint A, uint B, uint C)
289-
290-
_HLSL_AVAILABILITY(shadermodel, 6.4)
291-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot4add_u8packed)
292-
uint dot4add_u8packed(uint, uint, uint);
293-
294-
//===----------------------------------------------------------------------===//
295-
// dot2add builtins
296-
//===----------------------------------------------------------------------===//
297-
298-
/// \fn float dot2add(half2 a, half2 b, float c)
299-
300-
_HLSL_AVAILABILITY(shadermodel, 6.4)
301-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot2add)
302-
float dot2add(half2, half2, float);
303-
304-
//===----------------------------------------------------------------------===//
305-
// exp builtins
306-
//===----------------------------------------------------------------------===//
307-
308-
/// \fn T exp(T x)
309-
/// \brief Returns the base-e exponential, or \a e**x, of the specified value.
310-
/// \param x The specified input value.
311-
///
312-
/// The return value is the base-e exponential of the \a x parameter.
313-
314-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
315-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
316-
half exp(half);
317-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
318-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
319-
half2 exp(half2);
320-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
321-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
322-
half3 exp(half3);
323-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
324-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
325-
half4 exp(half4);
326-
327-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
328-
float exp(float);
329-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
330-
float2 exp(float2);
331-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
332-
float3 exp(float3);
333-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
334-
float4 exp(float4);
335-
336-
//===----------------------------------------------------------------------===//
337-
// exp2 builtins
338-
//===----------------------------------------------------------------------===//
339-
340-
/// \fn T exp2(T x)
341-
/// \brief Returns the base 2 exponential, or \a 2**x, of the specified value.
342-
/// \param x The specified input value.
343-
///
344-
/// The base 2 exponential of the \a x parameter.
345-
346-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
347-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
348-
half exp2(half);
349-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
350-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
351-
half2 exp2(half2);
352-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
353-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
354-
half3 exp2(half3);
355-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
356-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
357-
half4 exp2(half4);
358-
359-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
360-
float exp2(float);
361-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
362-
float2 exp2(float2);
363-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
364-
float3 exp2(float3);
365-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
366-
float4 exp2(float4);
367-
368-
//===----------------------------------------------------------------------===//
369-
// firstbithigh builtins
370-
//===----------------------------------------------------------------------===//
371-
372-
/// \fn T firstbithigh(T Val)
373-
/// \brief Returns the location of the first set bit starting from the highest
374-
/// order bit and working downward, per component.
375-
/// \param Val the input value.
376-
377-
#ifdef __HLSL_ENABLE_16_BIT
378-
_HLSL_AVAILABILITY(shadermodel, 6.2)
379-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
380-
uint firstbithigh(int16_t);
381-
_HLSL_AVAILABILITY(shadermodel, 6.2)
382-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
383-
uint2 firstbithigh(int16_t2);
384-
_HLSL_AVAILABILITY(shadermodel, 6.2)
385-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
386-
uint3 firstbithigh(int16_t3);
387-
_HLSL_AVAILABILITY(shadermodel, 6.2)
388-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
389-
uint4 firstbithigh(int16_t4);
390-
_HLSL_AVAILABILITY(shadermodel, 6.2)
391-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
392-
uint firstbithigh(uint16_t);
393-
_HLSL_AVAILABILITY(shadermodel, 6.2)
394-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
395-
uint2 firstbithigh(uint16_t2);
396-
_HLSL_AVAILABILITY(shadermodel, 6.2)
397-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
398-
uint3 firstbithigh(uint16_t3);
399-
_HLSL_AVAILABILITY(shadermodel, 6.2)
400-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
401-
uint4 firstbithigh(uint16_t4);
402-
#endif
403-
404-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
405-
uint firstbithigh(int);
406-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
407-
uint2 firstbithigh(int2);
408-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
409-
uint3 firstbithigh(int3);
410-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
411-
uint4 firstbithigh(int4);
412-
413-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
414-
uint firstbithigh(uint);
415-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
416-
uint2 firstbithigh(uint2);
417-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
418-
uint3 firstbithigh(uint3);
419-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
420-
uint4 firstbithigh(uint4);
421-
422-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
423-
uint firstbithigh(int64_t);
424-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
425-
uint2 firstbithigh(int64_t2);
426-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
427-
uint3 firstbithigh(int64_t3);
428-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
429-
uint4 firstbithigh(int64_t4);
430-
431-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
432-
uint firstbithigh(uint64_t);
433-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
434-
uint2 firstbithigh(uint64_t2);
435-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
436-
uint3 firstbithigh(uint64_t3);
437-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
438-
uint4 firstbithigh(uint64_t4);
439-
440-
//===----------------------------------------------------------------------===//
441-
// firstbitlow builtins
442-
//===----------------------------------------------------------------------===//
443-
444-
/// \fn T firstbitlow(T Val)
445-
/// \brief Returns the location of the first set bit starting from the lowest
446-
/// order bit and working upward, per component.
447-
/// \param Val the input value.
448-
449-
#ifdef __HLSL_ENABLE_16_BIT
450-
_HLSL_AVAILABILITY(shadermodel, 6.2)
451-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
452-
uint firstbitlow(int16_t);
453-
_HLSL_AVAILABILITY(shadermodel, 6.2)
454-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
455-
uint2 firstbitlow(int16_t2);
456-
_HLSL_AVAILABILITY(shadermodel, 6.2)
457-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
458-
uint3 firstbitlow(int16_t3);
459-
_HLSL_AVAILABILITY(shadermodel, 6.2)
460-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
461-
uint4 firstbitlow(int16_t4);
462-
_HLSL_AVAILABILITY(shadermodel, 6.2)
463-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
464-
uint firstbitlow(uint16_t);
465-
_HLSL_AVAILABILITY(shadermodel, 6.2)
466-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
467-
uint2 firstbitlow(uint16_t2);
468-
_HLSL_AVAILABILITY(shadermodel, 6.2)
469-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
470-
uint3 firstbitlow(uint16_t3);
471-
_HLSL_AVAILABILITY(shadermodel, 6.2)
472-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
473-
uint4 firstbitlow(uint16_t4);
474-
#endif
475-
476-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
477-
uint firstbitlow(int);
478-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
479-
uint2 firstbitlow(int2);
480-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
481-
uint3 firstbitlow(int3);
482-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
483-
uint4 firstbitlow(int4);
484-
485-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
486-
uint firstbitlow(uint);
487-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
488-
uint2 firstbitlow(uint2);
489-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
490-
uint3 firstbitlow(uint3);
491-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
492-
uint4 firstbitlow(uint4);
493-
494-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
495-
uint firstbitlow(int64_t);
496-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
497-
uint2 firstbitlow(int64_t2);
498-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
499-
uint3 firstbitlow(int64_t3);
500-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
501-
uint4 firstbitlow(int64_t4);
502-
503-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
504-
uint firstbitlow(uint64_t);
505-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
506-
uint2 firstbitlow(uint64_t2);
507-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
508-
uint3 firstbitlow(uint64_t3);
509-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
510-
uint4 firstbitlow(uint64_t4);
511-
512-
//===----------------------------------------------------------------------===//
513-
// floor builtins
514-
//===----------------------------------------------------------------------===//
515-
516-
/// \fn T floor(T Val)
517-
/// \brief Returns the largest integer that is less than or equal to the input
518-
/// value, \a Val.
519-
/// \param Val The input value.
520-
521-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
522-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
523-
half floor(half);
524-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
525-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
526-
half2 floor(half2);
527-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
528-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
529-
half3 floor(half3);
530-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
531-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
532-
half4 floor(half4);
533-
534-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
535-
float floor(float);
536-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
537-
float2 floor(float2);
538-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
539-
float3 floor(float3);
540-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
541-
float4 floor(float4);
542-
543-
//===----------------------------------------------------------------------===//
544-
>>>>>>> Stashed changes
545179
// fmod builtins
546180
//===----------------------------------------------------------------------===//
547181

0 commit comments

Comments
 (0)