@@ -49,28 +49,33 @@ namespace __llvm_libc {
49
49
// superior for sizes that mattered.
50
50
inline static void GeneralPurposeMemset (char *dst, unsigned char value,
51
51
size_t count) {
52
+ #if defined(__i386__) || defined(__x86_64__)
53
+ using namespace ::__llvm_libc::x86;
54
+ #else
55
+ using namespace ::__llvm_libc::scalar;
56
+ #endif
57
+
52
58
if (count == 0 )
53
59
return ;
54
60
if (count == 1 )
55
- return SplatSet<scalar:: _1>(dst, value);
61
+ return SplatSet<_1>(dst, value);
56
62
if (count == 2 )
57
- return SplatSet<scalar:: _2>(dst, value);
63
+ return SplatSet<_2>(dst, value);
58
64
if (count == 3 )
59
- return SplatSet<scalar:: _3>(dst, value);
65
+ return SplatSet<_3>(dst, value);
60
66
if (count == 4 )
61
- return SplatSet<scalar:: _4>(dst, value);
67
+ return SplatSet<_4>(dst, value);
62
68
if (count <= 8 )
63
- return SplatSet<HeadTail<scalar:: _4>>(dst, value, count);
69
+ return SplatSet<HeadTail<_4>>(dst, value, count);
64
70
if (count <= 16 )
65
- return SplatSet<HeadTail<scalar:: _8>>(dst, value, count);
71
+ return SplatSet<HeadTail<_8>>(dst, value, count);
66
72
if (count <= 32 )
67
- return SplatSet<HeadTail<scalar:: _16>>(dst, value, count);
73
+ return SplatSet<HeadTail<_16>>(dst, value, count);
68
74
if (count <= 64 )
69
- return SplatSet<HeadTail<scalar:: _32>>(dst, value, count);
75
+ return SplatSet<HeadTail<_32>>(dst, value, count);
70
76
if (count <= 128 )
71
- return SplatSet<HeadTail<scalar::_64>>(dst, value, count);
72
- return SplatSet<Align<scalar::_32, Arg::Dst>::Then<Loop<scalar::_32>>>(
73
- dst, value, count);
77
+ return SplatSet<HeadTail<_64>>(dst, value, count);
78
+ return SplatSet<Align<_32, Arg::Dst>::Then<Loop<_32>>>(dst, value, count);
74
79
}
75
80
76
81
} // namespace __llvm_libc
0 commit comments