Skip to content

Commit 3e265ff

Browse files
committed
WIP
1 parent 6d5c405 commit 3e265ff

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
@@ -982,6 +982,16 @@ uint64_t dot(uint64_t3, uint64_t3);
982982
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
983983
uint64_t dot(uint64_t4, uint64_t4);
984984

985+
//===----------------------------------------------------------------------===//
986+
// dot2add builtins
987+
//===----------------------------------------------------------------------===//
988+
989+
/// \fn float dot2add(half2 a, half2 b, float c)
990+
991+
_HLSL_AVAILABILITY(shadermodel, 6.4)
992+
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot2add)
993+
float dot2add(half2, half2, float);
994+
985995
//===----------------------------------------------------------------------===//
986996
// dot4add builtins
987997
//===----------------------------------------------------------------------===//

clang/lib/Headers/hlsl/hlsl_intrinsics.h

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

120120
//===----------------------------------------------------------------------===//
121-
<<<<<<< Updated upstream
122-
=======
123-
// dot product builtins
124-
//===----------------------------------------------------------------------===//
125-
126-
/// \fn K dot(T X, T Y)
127-
/// \brief Return the dot product (a scalar value) of \a X and \a Y.
128-
/// \param X The X input value.
129-
/// \param Y The Y input value.
130-
131-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
132-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
133-
half dot(half, half);
134-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
135-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
136-
half dot(half2, half2);
137-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
138-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
139-
half dot(half3, half3);
140-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
141-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
142-
half dot(half4, half4);
143-
144-
#ifdef __HLSL_ENABLE_16_BIT
145-
_HLSL_AVAILABILITY(shadermodel, 6.2)
146-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
147-
int16_t dot(int16_t, int16_t);
148-
_HLSL_AVAILABILITY(shadermodel, 6.2)
149-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
150-
int16_t dot(int16_t2, int16_t2);
151-
_HLSL_AVAILABILITY(shadermodel, 6.2)
152-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
153-
int16_t dot(int16_t3, int16_t3);
154-
_HLSL_AVAILABILITY(shadermodel, 6.2)
155-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
156-
int16_t dot(int16_t4, int16_t4);
157-
158-
_HLSL_AVAILABILITY(shadermodel, 6.2)
159-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
160-
uint16_t dot(uint16_t, uint16_t);
161-
_HLSL_AVAILABILITY(shadermodel, 6.2)
162-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
163-
uint16_t dot(uint16_t2, uint16_t2);
164-
_HLSL_AVAILABILITY(shadermodel, 6.2)
165-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
166-
uint16_t dot(uint16_t3, uint16_t3);
167-
_HLSL_AVAILABILITY(shadermodel, 6.2)
168-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
169-
uint16_t dot(uint16_t4, uint16_t4);
170-
#endif
171-
172-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
173-
float dot(float, float);
174-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
175-
float dot(float2, float2);
176-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
177-
float dot(float3, float3);
178-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
179-
float dot(float4, float4);
180-
181-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
182-
double dot(double, double);
183-
184-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
185-
int dot(int, int);
186-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
187-
int dot(int2, int2);
188-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
189-
int dot(int3, int3);
190-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
191-
int dot(int4, int4);
192-
193-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
194-
uint dot(uint, uint);
195-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
196-
uint dot(uint2, uint2);
197-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
198-
uint dot(uint3, uint3);
199-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
200-
uint dot(uint4, uint4);
201-
202-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
203-
int64_t dot(int64_t, int64_t);
204-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
205-
int64_t dot(int64_t2, int64_t2);
206-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
207-
int64_t dot(int64_t3, int64_t3);
208-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
209-
int64_t dot(int64_t4, int64_t4);
210-
211-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
212-
uint64_t dot(uint64_t, uint64_t);
213-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
214-
uint64_t dot(uint64_t2, uint64_t2);
215-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
216-
uint64_t dot(uint64_t3, uint64_t3);
217-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
218-
uint64_t dot(uint64_t4, uint64_t4);
219-
220-
//===----------------------------------------------------------------------===//
221-
// dot4add builtins
222-
//===----------------------------------------------------------------------===//
223-
224-
/// \fn int dot4add_i8packed(uint A, uint B, int C)
225-
226-
_HLSL_AVAILABILITY(shadermodel, 6.4)
227-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot4add_i8packed)
228-
int dot4add_i8packed(uint, uint, int);
229-
230-
/// \fn uint dot4add_u8packed(uint A, uint B, uint C)
231-
232-
_HLSL_AVAILABILITY(shadermodel, 6.4)
233-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot4add_u8packed)
234-
uint dot4add_u8packed(uint, uint, uint);
235-
236-
//===----------------------------------------------------------------------===//
237-
// dot2add builtins
238-
//===----------------------------------------------------------------------===//
239-
240-
/// \fn float dot2add(half2 a, half2 b, float c)
241-
242-
_HLSL_AVAILABILITY(shadermodel, 6.4)
243-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot2add)
244-
float dot2add(half2, half2, float);
245-
246-
//===----------------------------------------------------------------------===//
247-
// exp builtins
248-
//===----------------------------------------------------------------------===//
249-
250-
/// \fn T exp(T x)
251-
/// \brief Returns the base-e exponential, or \a e**x, of the specified value.
252-
/// \param x The specified input value.
253-
///
254-
/// The return value is the base-e exponential of the \a x parameter.
255-
256-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
257-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
258-
half exp(half);
259-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
260-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
261-
half2 exp(half2);
262-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
263-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
264-
half3 exp(half3);
265-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
266-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
267-
half4 exp(half4);
268-
269-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
270-
float exp(float);
271-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
272-
float2 exp(float2);
273-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
274-
float3 exp(float3);
275-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp)
276-
float4 exp(float4);
277-
278-
//===----------------------------------------------------------------------===//
279-
// exp2 builtins
280-
//===----------------------------------------------------------------------===//
281-
282-
/// \fn T exp2(T x)
283-
/// \brief Returns the base 2 exponential, or \a 2**x, of the specified value.
284-
/// \param x The specified input value.
285-
///
286-
/// The base 2 exponential of the \a x parameter.
287-
288-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
289-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
290-
half exp2(half);
291-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
292-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
293-
half2 exp2(half2);
294-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
295-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
296-
half3 exp2(half3);
297-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
298-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
299-
half4 exp2(half4);
300-
301-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
302-
float exp2(float);
303-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
304-
float2 exp2(float2);
305-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
306-
float3 exp2(float3);
307-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_exp2)
308-
float4 exp2(float4);
309-
310-
//===----------------------------------------------------------------------===//
311-
// firstbithigh builtins
312-
//===----------------------------------------------------------------------===//
313-
314-
/// \fn T firstbithigh(T Val)
315-
/// \brief Returns the location of the first set bit starting from the highest
316-
/// order bit and working downward, per component.
317-
/// \param Val the input value.
318-
319-
#ifdef __HLSL_ENABLE_16_BIT
320-
_HLSL_AVAILABILITY(shadermodel, 6.2)
321-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
322-
uint firstbithigh(int16_t);
323-
_HLSL_AVAILABILITY(shadermodel, 6.2)
324-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
325-
uint2 firstbithigh(int16_t2);
326-
_HLSL_AVAILABILITY(shadermodel, 6.2)
327-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
328-
uint3 firstbithigh(int16_t3);
329-
_HLSL_AVAILABILITY(shadermodel, 6.2)
330-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
331-
uint4 firstbithigh(int16_t4);
332-
_HLSL_AVAILABILITY(shadermodel, 6.2)
333-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
334-
uint firstbithigh(uint16_t);
335-
_HLSL_AVAILABILITY(shadermodel, 6.2)
336-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
337-
uint2 firstbithigh(uint16_t2);
338-
_HLSL_AVAILABILITY(shadermodel, 6.2)
339-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
340-
uint3 firstbithigh(uint16_t3);
341-
_HLSL_AVAILABILITY(shadermodel, 6.2)
342-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
343-
uint4 firstbithigh(uint16_t4);
344-
#endif
345-
346-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
347-
uint firstbithigh(int);
348-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
349-
uint2 firstbithigh(int2);
350-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
351-
uint3 firstbithigh(int3);
352-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
353-
uint4 firstbithigh(int4);
354-
355-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
356-
uint firstbithigh(uint);
357-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
358-
uint2 firstbithigh(uint2);
359-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
360-
uint3 firstbithigh(uint3);
361-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
362-
uint4 firstbithigh(uint4);
363-
364-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
365-
uint firstbithigh(int64_t);
366-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
367-
uint2 firstbithigh(int64_t2);
368-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
369-
uint3 firstbithigh(int64_t3);
370-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
371-
uint4 firstbithigh(int64_t4);
372-
373-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
374-
uint firstbithigh(uint64_t);
375-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
376-
uint2 firstbithigh(uint64_t2);
377-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
378-
uint3 firstbithigh(uint64_t3);
379-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
380-
uint4 firstbithigh(uint64_t4);
381-
382-
//===----------------------------------------------------------------------===//
383-
// firstbitlow builtins
384-
//===----------------------------------------------------------------------===//
385-
386-
/// \fn T firstbitlow(T Val)
387-
/// \brief Returns the location of the first set bit starting from the lowest
388-
/// order bit and working upward, per component.
389-
/// \param Val the input value.
390-
391-
#ifdef __HLSL_ENABLE_16_BIT
392-
_HLSL_AVAILABILITY(shadermodel, 6.2)
393-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
394-
uint firstbitlow(int16_t);
395-
_HLSL_AVAILABILITY(shadermodel, 6.2)
396-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
397-
uint2 firstbitlow(int16_t2);
398-
_HLSL_AVAILABILITY(shadermodel, 6.2)
399-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
400-
uint3 firstbitlow(int16_t3);
401-
_HLSL_AVAILABILITY(shadermodel, 6.2)
402-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
403-
uint4 firstbitlow(int16_t4);
404-
_HLSL_AVAILABILITY(shadermodel, 6.2)
405-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
406-
uint firstbitlow(uint16_t);
407-
_HLSL_AVAILABILITY(shadermodel, 6.2)
408-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
409-
uint2 firstbitlow(uint16_t2);
410-
_HLSL_AVAILABILITY(shadermodel, 6.2)
411-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
412-
uint3 firstbitlow(uint16_t3);
413-
_HLSL_AVAILABILITY(shadermodel, 6.2)
414-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
415-
uint4 firstbitlow(uint16_t4);
416-
#endif
417-
418-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
419-
uint firstbitlow(int);
420-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
421-
uint2 firstbitlow(int2);
422-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
423-
uint3 firstbitlow(int3);
424-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
425-
uint4 firstbitlow(int4);
426-
427-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
428-
uint firstbitlow(uint);
429-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
430-
uint2 firstbitlow(uint2);
431-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
432-
uint3 firstbitlow(uint3);
433-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
434-
uint4 firstbitlow(uint4);
435-
436-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
437-
uint firstbitlow(int64_t);
438-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
439-
uint2 firstbitlow(int64_t2);
440-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
441-
uint3 firstbitlow(int64_t3);
442-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
443-
uint4 firstbitlow(int64_t4);
444-
445-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
446-
uint firstbitlow(uint64_t);
447-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
448-
uint2 firstbitlow(uint64_t2);
449-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
450-
uint3 firstbitlow(uint64_t3);
451-
_HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
452-
uint4 firstbitlow(uint64_t4);
453-
454-
//===----------------------------------------------------------------------===//
455-
// floor builtins
456-
//===----------------------------------------------------------------------===//
457-
458-
/// \fn T floor(T Val)
459-
/// \brief Returns the largest integer that is less than or equal to the input
460-
/// value, \a Val.
461-
/// \param Val The input value.
462-
463-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
464-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
465-
half floor(half);
466-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
467-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
468-
half2 floor(half2);
469-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
470-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
471-
half3 floor(half3);
472-
_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
473-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
474-
half4 floor(half4);
475-
476-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
477-
float floor(float);
478-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
479-
float2 floor(float2);
480-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
481-
float3 floor(float3);
482-
_HLSL_BUILTIN_ALIAS(__builtin_elementwise_floor)
483-
float4 floor(float4);
484-
485-
//===----------------------------------------------------------------------===//
486-
>>>>>>> Stashed changes
487121
// fmod builtins
488122
//===----------------------------------------------------------------------===//
489123

0 commit comments

Comments
 (0)