MMX SSE 3D NOW!‚̃vƒ ..
2:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/05/28 22:02
2get
>>3‚Ç‚¤‚¼
3:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/05/28 22:07
2get
>>3‚Ç‚¤‚¼
4:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/05/28 22:36
‚Ü‚½‚±‚ÌŽè‚̃XƒŒ‚©
‚Ü‚½‚±‚ÌŽè‚̃XƒŒ‚©
5:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/05/28 23:37
VC++6.0SP6—p‚ÌProcessor Pack‘‚‚¾‚¹‚惔ƒHƒP
6:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/05/29 05:13
‘¬‚‚µ‚ë‚æ
7:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/05/29 05:36
/arch:SSE2
8:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/05/29 07:14
>>5
‚à‚¤‚ł˂¥‚æ
9:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/05/29 12:31
ƒAƒZƒ“ƒuƒ‰ƒXƒŒ‚Å‚¢‚¢‚¾‚ë
10:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/05/29 17:18
>>8
ƒ}ƒWH‘‚o‚¹‚惔ƒHƒPI
11:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/05/29 17:56
‚·‚®‚ɃAƒZƒ“ƒuƒ‰‚Á‚ÄŒ¾o‚·“z‚̓AƒŒ‚¾‚È
ƒCƒ“ƒeƒ‹‚̃Rƒ“ƒpƒCƒ‰‚È‚ñ‚©‚É‚Í
C++‚̃‰ƒCƒuƒ‰ƒŠ‚ªŠÜ‚Ü‚ê‚Ä‚¢‚邪‚ÈB
12:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/05/30 00:08
>>11
‚»‚ê‚Á‚ă\[ƒX•t‚«H
13:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/06/13 18:02
VC Toolkit 2003 ‚ÅŒø—¦‚æ‚SSE2Žg‚¤ƒRƒc‚ð˜b‚»‚¤‚ºB
14:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ ŸTCP/IPmFAM
04/09/26 17:22:39
15:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/10/19 06:28:21
>>13
#include <dvec.h>
16:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/10/23 07:26:59
SSE‚ðŽg‚Á‚½ŠÈ’P‚ȃvƒƒOƒ‰ƒ€‚ð‹³‚¦‚Ä‚‚¾‚³‚¢B
‚½‚Æ‚¦‚Î1+2‚͂ǂ̂悤‚É‘‚¯‚΂悢‚̂łµ‚傤‚©H
17:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/10/23 09:13:35
SSE3‚̃XƒŒ‚©‚ÆŽv‚Á‚½‚º
18:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/10/23 15:39:43
SSE3‚Á‚ĉ½‚ªV‚µ‚¢‚ÌH‚Á‚Ä‚¢‚¤‚©•‹y‚·‚ñ‚ÌH
19:EXCULTer's / Active metropolis Ÿ/80RBXpvJA
04/11/12 05:14:46
‚l‚`‚r‚l‚R‚Q‚—
20:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/11/22 16:09:13
21:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/12/08 08:53:11
MMX‚ðŽg—p‚µ‚ătƒ‹ƒJƒ‰[‚̉摜‚ðŠg‘åk¬‚·‚郋[ƒ`ƒ“‚ð‘‚«‚½‚¢‚̂ł·‚ªA
‚Ç‚Á‚©‚ÉŽè ‚Èƒ\[ƒX‚Í—Ž‚¿‚ĂȂ¢‚à‚ñ‚Å‚µ‚傤‚©B
‚Å‚«‚ê‚ΕiŽ¿‚ł͂ȂƒXƒs[ƒhdŽ‹‚Ì‚à‚Ì‚ª‚¢‚¢‚̂ł·‚ªB
22:21
04/12/08 09:12:25
‚Ç‚¤‚à‚±‚±‚ç•Ó‚ª“s‡‚ª—Ç‚³‚°‚Ȃ̂Œ²‚ׂĂ݂܂·B
> SDL_Surface * zoomSurface (SDL_Surface *src, double zoomx,
> double zoomy, int smooth);
> Zoomes a 32bit or 8bit 'src' surface to newly created 'dst' surface.
> 'zoomx' and 'zoomy' are scaling factors for width and height. If 'smooth' is 1
> then the destination 32bit surface is anti-aliased. If the surface is not 8bit
> or 32bit RGBA/ABGR it will be converted into a 32bit RGBA format on the fly.
URLØÝ¸(www.ferzkopp.net)
23:21
04/12/08 15:46:22
’†gœ‚¢‚Ă݂½‚çMMXŽg‚Á‚ĂȂ©‚Á‚½‚æ... orz
Ž©•ª‚ŕ׋‚µ‚È‚«‚á‘ʖڂȂ̂©‚ÈA‚ƂقÙ...
24:21
04/12/09 04:08:26
MMX‚̉ðà“Ç‚ñ‚ł݂½‚çA‰æ‘œ‚ÌŠg‘åk¬‚É‚Í
MMX‚Ì–½—߃Zƒbƒg‚ÍŽg‚¦‚»‚¤‚É‚à‚È‚¢Ž–‚ª
”»–¾‚µ‚Ü‚µ‚½B‚Ç‚¤‚·‚ê‚΂¢‚¢‚ñ‚¾...orz
25:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
04/12/12 10:16:56
>21-24
‚Ù‚¢„URLØÝ¸(61.23.56.118)
ƒeƒXƒg‚µ‚ĂȂ¢‚µA•⊮ƒe[ƒuƒ‹ì‚邯‚±‚¾‚¯–Ê“|‚ÅC‚¾‚¯‚ÇB
26:21
04/12/13 07:59:28
‚¨‚¨A‚¢‚‚̊Ԃɂ©ƒŒƒX‚ª! ‚ ‚肪‚½‚âA‚ ‚肪‚½‚âB
‘‘¬ŽŽ‚µ‚Ă݂܂·B
27:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/02/21 12:55:29
MMX‚ÅDWORD‚ɃAƒ“ƒpƒbƒN‚µ‚½‚â‚‚ðDWORD‚ÅæŽZ‚³‚¹‚é‚ɂ͂ǂ¤‚µ‚½‚ç‚æ‚¢‚ñ‚Å‚·‚©H
pmul‚ÍWORD‚µ‚©‘Ήž‚µ‚Ä‚¢‚È‚¢‚悤‚Ȃ̂Åc
’N‚©•‚¯‚Ä‚‚¾‚³‚¢
28:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/02/21 14:44:56
>>27
ƒqƒ“ƒg
a, b, c, d ‚Í16bit‚Ì®”‚Å
X = a * 2^16 + b
Y = c * 2^16 + d
‚Æ‚¨‚‚ÆA
X * Y
= (a * 2^16 + b) * (c * 2^16 + d)
= (a*c * 2^32) + ((a*d + b*c) * 2^16) + b*d
‚ ‚Ƃ͂¨D‚«‚Ȃ悤‚ÉB
29:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/02/21 14:46:24
‚ A^‚ÍXOR‚¶‚á‚È‚‚Ä—Ýæ‚Ë
30:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/02/21 16:56:55
‘f’¼‚ɃVƒtƒgŽg‚Á‚Ä‘‚¯‚΂»‚ñ‚È’f‚è‚à‚¢‚ç‚È‚³‚»‚¤‚È‚à‚Ì‚¾‚ªB
31:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/02/21 18:01:39
>>28
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‚¨‚¿‚‚¢‚Ä’²‚ׂĂ݂½‚çADWORD‚ł͂ȂWORD‚ÌæŽZ‚Å‚µ‚½c
WORD‚È‚ç‚È‚ñ‚Æ‚©‚Ȃ肻‚¤‚Å‚·B
32:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/03/16 05:30:09
>>25
Äup‚µ‚Ä’¸‚Ž–‚Ío—ˆ‚Ü‚¹‚ñ‚Å‚µ‚傤‚©EEE
33:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/07 12:01:11
SSE‚Ö‚ÌÅ“K‰»‚Ì‚½‚ß‚Ì\‘¢‘̂̃Aƒ‰ƒCƒƒ“ƒg‚Á‚Ăǂ¤‚â‚Á‚Ä’²‚ׂé‚̂łµ‚傤‚©H
34:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/08 22:12:42
ƒqƒ“ƒg: offsetof
35:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/08 23:23:13
>>33
ƒeƒLƒg[‚Ƀxƒ“ƒ`ƒ}[ƒNƒvƒƒOƒ‰ƒ€‘‚¢‚Ä’²‚ׂ邯‚©‚—
4kB‹«ŠE‚ɇ‚킹‚ê‚΂قڊmŽÀ‚ÉÅ“K‚¾‚ÆŽv‚¤
36:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/11 14:27:39
3D NOW!Žg‚Á‚Ă郄ƒV‚¢‚éH
‰´‚ÍIntelCPU‚Ȃ̂ÅMMX‚âSSE‚µ‚©Žg‚Á‚½‚±‚Æ‚ª‚È‚¢‚ªB
37:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/15 17:42:50
>>36
ƒm
pfaccŒn‚ª‚Æ‚Á‚Ä‚à•Ö—˜‚Å‹C‚É“ü‚Á‚Ä‚¢‚éB
38:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/21 16:25:52
>>37
ãˆÊ‚ƉºˆÊ‚̉ÁŽZ‚©I
‚¢‚¢‚È‚ BMMX‚âSSE‚ł͎g‚¦‚È‚¢‚à‚ñ‚ÈB
SSE3‚ɂ͓ü‚Á‚½‚Ý‚½‚¢‚¾‚¯‚ÇB
39:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/21 17:57:27
Ž©•ª‚̊‹«‚¾‚Ɖ‘ãSSE‚܂łµ‚©Žg‚¦‚È‚¢orz
V‚µ‚¢ƒRƒA‚ÌAthlon”ƒ‚¤‚©‚Ë‚¥B
SSE‚Å“àÏ‚â‚鎞‚ÉŠeς̉ÁŽZ‚Á‚Ăǂ¤‚â‚Á‚Ä‚éH
–Ê“|‚È‚ñ‚ŃCƒ“ƒ‰ƒCƒ“‚©‚甲‚¯‚Ä•’ʂɑ‚¢‚¿‚á‚Á‚Ä‚é‚ñ‚¾‚¯‚ÇB
40:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/25 19:10:24
>>39
“àÏ‚â‚Á‚ĂȂ¢‚¯‚ÇA”²‚¯‚½‚点‚Á‚©‚‚̃Cƒ“ƒ‰ƒCƒ“‚ª’x‚‚È‚ç‚È‚¢H
‰´‚È‚çƒVƒƒƒbƒtƒ‹‚µ‚Ä‚Q‚“¯Žž‚É‘«‚·‚©‚ÈB
xmm0=(a,b,c,d), xmm1=(e,f,g,h) ‚Æ‚µ‚ÄA
movaps xmm2, xmm0
shufps xmm0, xmm1, hoge
shufps xmm2, xmm1, hoge
‚·‚邯‚±‚¤‚È‚éB
xmm0=(e,f,a,b), xmm1=(g,h,c,d)
‚ÅAaddps‚â‚Á‚Ä“¯‚¶‚悤‚É‚à‚¤‚P‰ñ‘«‚¹‚Îo‚é‚©‚ÈB
–Ê“|‚Ȃ̂ł±‚±‚Ü‚ÅB‚·‚Ü‚ÊB
41:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/25 19:49:30
‚â‚Á‚ς葱‚«B
movaps xmm2, xmm0
shufps xmm0, xmm2, hoge
addps xmm0, xmm2
‚±‚ê‚ÅOK‚©HŽŽ‚µ‚ĂȂ¢‚¯‚ÇB
xmm0=(?,e+f+g+h,?,a+b+c+d) ‚ƂȂé‚Í‚¸B
42:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/25 23:45:43
>>40-41
‚È‚é‚Ù‚ÇBŽ©•ª‚ł͂±‚ñ‚È‚ñl‚¦‚Ă݂¯‚ǂǂ¤‚¾‚낤B
movaps xmm2, xmm0;@@@xmm2 = (a,b,c,d) xmm0 = (a,b,c,d) xmm1 = (e,f,g,h)
unpcklps xmm2, xmm1;@@ xmm2 = (g,c,h,d)
unpckhps xmm0, xmm1;@@xmm0 = (e,a,f,b)
addps xmm0, xmm2;@@@@xmm0 = (e+g, a+c, f+h, b+d)
movhlps xmm1, xmm0;@@ xmm1 = (c, d, e+g, a+c)
addps xmm0, xmm1;@@@@xmm0 = (c+e+g, a+c+d, e+f+g+h, a+b+c+d)
movlps [dst], xmm0;@@@@‰º”¼•ª‚¾‚¯Žæ‚èo‚·B
43:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/26 12:50:37
‚È‚é‚Ù‚ÇA‹K‘¥“I‚ȃVƒƒƒbƒtƒ‹‚È‚çƒAƒ“ƒpƒbƒN‚Ì•û‚ª‚«‚ê‚¢‚¾‚ËB
ŠÈ’P‚ȃR[ƒh‘‚¢‚Ä‘¬‚³‚Ì‘ª’è‚Å‚à‚µ‚Ă݂邩B
44:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/26 14:10:13
‚Ü‚ ‚Ç‚Á‚¿‚É‚µ‚ëƒXƒg[ƒ‹‚·‚邿‚¤‚È‹C‚ª‚·‚邯‚Ç‚Ëorz
2‰ñ˜A‘±‚̃Vƒƒƒbƒtƒ‹‚È‚¢‚µƒAƒ“ƒpƒbƒN‚ð‚Ç‚¤‚É‚©‚µ‚Ă΂点‚È‚¢‚©‚È‚Ÿ
45:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/27 16:10:13
Intel‚̃y[ƒW‚ÉASSE3‚ðŽg‚í‚È‚¢ƒR[ƒh‚ÆŽg‚¤ƒR[ƒh‚̗ႪڂÁ‚Ä‚½B
mulps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm0, xmm1, 0xb1
addps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm0, xmm0, 0x0a
addps xmm0, xmm1
‚±‚ê‚Í‚PŒÂ‚¸‚‚â‚Á‚Ä‚¢‚é‚ÈB
mulps xmm0, xmm1
haddps xmm0, xmm0
haddps xmm0, xmm0
SSE3‚Í‚·‚²‚¢‚È‚ B“¯‚¶haddps‚𑱂¯‚½‚¾‚¯‚łł«‚Ä‚µ‚Ü‚¤B
‚Ä‚¢‚¤‚©3D Now!‚à‚»‚¤‚©BK6-2‚ªA‚͂܂ê‚΂·‚²‚‘¬‚©‚Á‚½‚Ì‚ª‚í‚©‚é‹C‚ª‚µ‚½B
‚½‚¾APrescott‚Å‚Íhaddps‚̃^ƒCƒ~ƒ“ƒO‚ª13-4‚È‚ñ‚¾‚æ‚ÈB
ã‚̃R[ƒh‚É7+13+13 = 33clk‚à‚©‚©‚éB
Athlon64‚¾‚Æhaddps‚ª5-2Amulps‚ª5-2B5+5+5 = 15clk‚©‚ÈB
‚½‚¾APen4‚Ȃ炱‚Ì33clk‚̃uƒƒbƒNŽ©‘Ì‚ð‰½ŒÂ‚à•À—ñ‚ÉŽÀs‚µ‚»‚¤B
‚QŒÂ“¯Žž‚Å‚à
haddps xmm0, xmm1
haddps xmm0, xmm0
‚±‚ê‚ÅOKB‰½ŽÒ‚¾‚æ‚Á‚Ä‚¢‚¤ŠÈ’P‚³‚¾‚ÈB
“àÏ‚ðA‚Ç‚¤—˜—p‚·‚é‚©‚É‚æ‚Á‚ÄAˆÚ“®–½—߂ŗ~‚µ‚¢Œ`Ž®‚É—Ž‚Æ‚·‚Ì‚à˜r‚ÌŒ©‚¹ŠB
46:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/28 18:54:46
>>45
‚â‚Á‚Ï—v‘fŠÔ‰‰ŽZ‚ª‚È‚¢‚̂͊F•s–ž‚¾‚Á‚½‚炵‚¢‚ËB
•Ö—˜‚¾‚¯‚ÇŽ©•ª‚̊‹«‚¶‚ᎎ‚¹‚È‚¢‚Ì‚ª’É‚¢‚È‚ŸB
‚É‚µ‚Ä‚àSSE3‚͕֗˜‚Ȃ̂͂¢‚¢‚¯‚ǃzƒ“ƒg’x‚»‚¤‚¾B
47:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/29 10:06:21
‚»‚ñ‚Ȃɒx‚‚͂Ȃ¢‚ñ‚¶‚á‚È‚¢H
Prescott‚Í‚à‚¤Ž€‚É‚©‚¯‚̃A[ƒL‚¾‚µAK8‚Ȃ瑬‚¢‚µB
Yonah‚ÌSSE3‚à‘¬‚‚È‚Á‚Ă邯Žv‚¤B
48:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/07/31 10:18:47
‚»‚¤‚©‚ŸB‚â‚Á‚ÏSSE3Žg‚Á‚Ă݂½‚¢‚È‚ŸB
‚±‚̉ĂÉV‚µ‚¢Î‚ÌAthlon‚Å‚à”ƒ‚Á‚ÄŽŽ‚µ‚Ă݂邩B
‚Ü‚ Prescott‚Å‚à—¬‚ê‚ê‚Α¬‚¢‚Ì‚©‚ÈH
49:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/08/01 10:26:31
>>48
‚¤‚ñA—¬‚ꂽ‚Æ‚«‚Ì‘¬‚³‚Í”ä‚ׂé‚à‚Ì‚ª‚È‚¢‚Ù‚Ç‚¾‚ÆŽv‚¤B
ƒŠƒAƒ‹128bit‚Ńoƒ‰ƒoƒ‰‚É“®‚SIMD‚Í‹—ÍB
ƒŒƒWƒXƒ^ŠÔmovaps‚̃ŒƒCƒeƒ“ƒV‚ª6‚È‚±‚ƂȂNjC‚ɂȂç‚È‚¢B
50:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/08/14 19:40:00
ň«‚¾EEEƒm[ƒg‚̃oƒbƒeƒŠ[‚ªÀ‚Á‚Ä‚µ‚Ü‚í‚ꂽEEE‹à‚ªEEE
SanDiego‚àVenice‚à‚³‚悤‚È‚ç`orz
51:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/08/25 14:50:35
sse3‚ÌŽg‚¦‚È‚¢ŠÂ‹«‚Åsse3‚ðŽg‚Á‚½ƒvƒƒOƒ‰ƒ€‚ð‘–‚ç‚ꂽ‚ç‚Ç‚¤‚È‚è‚Ü‚·‚©H
52:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/08/25 15:05:09
Illegal Instruction—áŠO‚Å—Ž‚¿‚Ü‚·B
53:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/08/27 19:01:02
>>51
bochs‚Æ‚¢‚¤‹—͂ȃGƒ~ƒ…‚È‚çA‚Ç‚ñ‚Ȋ‹«‚Å‚àSSE,SSE2,SSE3,x64,3dnow‚È‚Ç
‚È‚ñ‚Å‚àƒGƒ~ƒ…ƒŒ[ƒg‚Å‚«‚邼B
‚Ç‚ñ‚Ȋ‹«‚Å‚à‚Á‚ÄŒ¾‚¤‚Ì‚ÍPowerPC‚Å‚àSPARC‚Å‚à‚Á‚Ä‚±‚ÆB
54:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/01 21:24:26
l‚¢‚È‚¢EEE
55:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/03 14:38:06
‚Ù‚ñ‚Ƃɂ¢‚Ü‚¹‚ñ‚Ë‚¦B
¡‚܂łÉSIMD‚ʼn½‚ðì‚Á‚½‚±‚Æ‚ª‚ ‚é‚©‘‚¢‚Ä‚¢‚‚©H
56:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/03 16:24:49
s—ñ‚ÌŠ|‚¯ŽZEEEE
57:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/03 18:12:16
‚¢‚Ü‚©‚çŠg’£–½—ߎg‚Á‚ÄFirefox‚ðÅ“K‰»‚µ‚Ă݂悤‚ÆŽv‚¤B
58:–¼–³‚µ•åW’†BBB
05/10/03 18:45:09
[word data1][word data2][word data3]EEE
[word data100][word data101][word data102]EEE
‚±‚ñ‚Ȃӂ¤‚É•À—ñ‰‰ŽZ‚µ‚½‚¢ƒf[ƒ^‚ªƒƒ‚ƒŠã‚É•À‚ñ‚Å‚¢‚È‚¢ê‡
data1‚Ædata3‚Ædata100‚Ædata102‚ð•À—ñŒvŽZ‚µ‚½‚¢Žž‚Á‚Ä
pinsrw ‚Ńf[ƒ^‚ðW‚ß‚éˆÈŠO‚É‚¤‚Ü‚¢‚â‚è•û‚Á‚ĂȂ¢H
movq ‚Ńƒ‚ƒŠ‚©‚ç64bitŽæ‚èo‚µ‚ăpƒbƒN‚µ‚½‚Ù‚¤‚ª‘‚¢‚©‚ÈH
59:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/03 19:58:56
‚Ü‚¸‚̓f[ƒ^\‘¢‚ðŒ©’¼‚¹B
‚·‚ׂĂ͂»‚±‚©‚炾B
60:–¼–³‚µ•åW’†BBB
05/10/03 20:13:33
ƒf[ƒ^\‘¢‚ÍCCD‚ÌRAWƒf[ƒ^‚¾‚©‚çŽd•û‚È‚¢‚æ
[R][G][R][G]
[G][B][G][B] ‚Æ‚¢‚¤”z—ñ(¡‰ñˆµ‚¤‚Ì‚Í1‰æ‘f12bit)
61:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/04 10:54:24
SSE‚Ì®”–½—ß‚Á‚Ä’P‚ÉMMX–½—߂̃Iƒyƒ‰ƒ“ƒh‚É
MMXƒŒƒWƒXƒ^‚¾‚¯‚¶‚á‚È‚‚ÄSSEƒŒƒWƒXƒ^‚àŽg‚¦‚邿‚¤‚ɂȂÁ‚½‚Á‚Ä‚¾‚¯H
‚µ‚©‚à64ƒrƒbƒg‚܂łµ‚©Žg‚¦‚È‚¢‚Á‚Äã©‚Å—˜“_‚Íemms‚È‚µ‚ÅOK‚Á‚Ä‚¾‚¯H
‚±‚±‚©‚çƒ`ƒ‰ƒV‚Ì—
Firefox‚̃rƒ‹ƒh‚µ‚½‚çAthlonƒm[ƒg‚ł₯‚Ç‚µ‚½‚—
‚µ‚©‚µÅ“K‰»‚Æ‚¢‚Á‚Ä‚à‚Ç‚±‚©‚çŽè‚ð•t‚¯‚Ä‚¢‚¢‚Ì‚â‚çB
ƒeƒe‚³‚ñ‚Æ‚©‚Ç‚¤‚â‚Á‚Ä‚ñ‚¾‚낤‚ËB
62:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/05 09:08:10
>>61
SSE®”‚Í128bitŽg‚Á‚Ă邿B
‚½‚¾AŒ»ó‚Å‚ÍMMX‚ª‘¬‚¢‚±‚Æ‚ª‘½‚¢‚¯‚ÇB
«—ˆ“I‚ɂ͉‰ŽZŠí‚ª‹‰»‚³‚ê‚ÄSSE‚Ì•û‚ª‘¬‚‚Ȃ邾‚낤‚µA
x64‚ł̓ŒƒWƒXƒ^‚ª”{‚Ì16–{‚É‘‚¦‚邯‚¢‚¤ƒƒŠƒbƒg‚à‚ ‚éB
63:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/05 19:29:28
SSE2‚¶‚á‚»‚¤‚¾‚낤‚¯‚lj‘ãSSE‚Å‚à‚Å‚«‚ñ‚ÌH
64:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/06 08:58:39
>>63
‰‘ãSSE‚Æ‚ÍAMMX2‚Ì‚±‚Æ‚©‚¢H
65:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/15 08:03:38
‚Í‚â‚SSE‚̃Xƒ‹[ƒvƒbƒg‚ª‚P‚ɂȂç‚È‚¢‚©‚È[B
66:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/15 14:31:23
SSE‚̉‰ŽZŠí‚¾‚¯”{‘¬ì“®‚Æ‚©‚—
67:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/16 15:41:44
‚ ‚é’ö“xƒgƒ‰ƒ“ƒWƒXƒ^Š„‚¯‚ÎASSEƒ†ƒjƒbƒg‚ð”{ς߂é‚ñ‚¾‚낤‚©B
’Pƒ‚ɉ‰ŽZŠí‚Ì”‚ð”{‚É‚·‚é‚ÌB
68:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/22 10:59:10
>>61
ƒ`ƒ‰ƒV‚Ì—
MMX‚Ìmovq‚ðŽg‚Á‚ăƒ‚ƒŠƒRƒs[‚ð‚‘¬‰»‚µ‚Ă邿B
SSEŒn‚ÍŽg‚Á‚ĂȂ¢‚Ý‚½‚¢B
69:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/10/22 14:11:26
Œ»ó‚¶‚á128bit‚̃[ƒhEƒXƒgƒA‚Í’x‚¢‚à‚ñ‚ÈB
Pen4‚¾‚¯‚Í128bit‚Ì•û‚ª‘¬‚¢‚¯‚ÇA
‚±‚ê‚à•‚ªL‚¢‚©‚笉ñ‚èŒø‚©‚È‚‚Ä’x‚¢‚Ì‚©‚ÈB
70:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/11/21 01:03:24
packed byte‚ÈæŽZ–½—ß‚ª‚È‚‚Ä(LEƒÖE`)¼®ÎÞ°Ý
71:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/11/21 10:15:15
‰´‚Í‘½”{’·ƒf[ƒ^‰ÁŽZ—p‚ÌSIMD–½—ß‚ª‚Ù‚µ‚¢B
72:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/11/23 08:58:42
ŸŽè‚É3D NOW!!‚ɑΉž‚µ‚Ä‚‚ê‚éƒRƒ“ƒpƒCƒ‰–³‚¢‚©‚ÈB
73:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/11/23 10:03:48
>>72
‘Ήž‚Á‚ÄŽ©“®ƒxƒNƒgƒ‹‚©‹@”\‚Ì‚±‚Æ‚ð‚¢‚Á‚Ä‚é‚Ì‚©H
‚»‚¤‚Ȃ炱‚¢‚‚ª‚ ‚邪
URLØÝ¸(www.codeplay.com)
74:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/12/11 10:48:57
CQo”Å‚ª15“ú‚Éo‚·–{‚ª—Ç–{‚Ȃ炱‚̃XƒŒ‚à
·‚èオ‚Á‚Ä‚‚ê‚邱‚Æ‚ðM‚¶‚‚‚—‚‹‚”‚‹
75:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/12/12 01:08:17
”÷–‚È–{‚¾‚ÈB‘å‘̈êÍ‚ª10ƒy[ƒW‚‚ç‚¢‚ÌB5”»‚¾‚©‚çA
Šî–{“I‚ÈG‚è‚‚ç‚¢‚µ‚©o‚ĂȂ¢‚悤‚ÈÖ¶¿
ƒCƒ“ƒeƒ‹‚̃}ƒjƒ…ƒAƒ‹‚Ì•û‚ª‚æ‚Á‚Û‚ÇÚ‚µ‚¢‚̂ł͂Ȃ©‚낤‚©B
76:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/12/12 22:36:34
>>75
‚»‚烳ƒ}ƒjƒ…ƒAƒ‹‚É“G‚¤–{‚È‚ñ‚Ă܂¸‚È‚¢‚¾‚ëcc
77:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/12/15 10:37:25
‘‘¬”ƒ‚Á‚Ä—ˆ‚½‚æB
SSE2‚Ì“ú–{Œê+ŠG‚É‚æ‚é‰ðà‚ÍŽg‚¦‚»‚¤B
78:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
05/12/16 04:01:41
>>77
ny‚Å
79:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/01/02 01:04:22
altivec‚Í‚±‚±‚¶‚Ⴞ‚߂ł·‚©
80:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/01/05 19:01:14
SIMD–½—ß‚ðŽg‚Á‚½ƒgƒŠƒbƒL[‚ȃR[ƒhAˆÓŠO‚ÈŽg‚¢•û‚Á‚ĂȂ¢‚Å‚·‚©B
ŠÈ’P‚È‚â‚Â‚Å‚à‚¢‚¢‚Ì‚ÅB
URLØÝ¸(homepage1.nifty.com)
‚Ì498,519‚Ý‚½‚¢‚ÈB
81:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/01/15 17:20:05
icc‚Åemmintrin‚‚©‚Á‚Ä‚é‚ñ‚Å‚·‚ªA
__m128 <-> __m128d‚̃LƒƒƒXƒg‚ðƒCƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒŠ
Žg‚킸‚ɂł«‚Ü‚·H
”{¸“x‚̉¼”•”‚̈ꕔ‚𮔉‰ŽZ‚Å‚OƒNƒŠƒA‚µ‚½‚¢‚ñ‚Å‚·B
82:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/01/15 17:45:45
_m128i‚ðˆø”‚Æ‚·‚éŠÖ”‚Å_m128d‚ð‚»‚Ì‚Ü‚Ü‚ÌŒ`‚ÅŽg‚¢‚½‚¢‚Á‚ÄŽ–‚ÅOKH
__m128d a;
__m128i b;
b = _mm_and_si128(*(__m128i*)&a,b);
83:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/01/15 17:53:53
>>82
ƒƒ‚ƒŠƒAƒNƒZƒX‚·‚éƒR[ƒh‚ª¶¬‚³‚ê‚È‚¢‚©S”zB
84:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/01/15 18:27:53
‚ñ‚¶‚Ⴑ‚Á‚¿
union {
@@__m128d a_d;
@@__m128i a_i;
}
__m128i b;
(ry
85:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/01/15 22:13:20
•Œ¾‚ ‚ñ‚ª‚ÆB
s=_mm_cvtpd_ps(d);
d=_mm_cvtps_pd(s);
‚ĂȂ±‚Æ‚ð
d=_mm_and_si128(d,mask);
‚ĂȊ´‚¶‚Åς܂¹‚½‚©‚Á‚½‚¯‚ÇA
unionŽg‚Á‚Ä‘‚‚Æ’x‚‚È‚Á‚½‚ñ‚ÅÅ“K‰»‚µ‚Ä‚‚ê‚È‚¢‚Á‚Ûc
“ü—Í‚ªfloat‚͈̔͂ð‰z‚¦‚Ä‚à“®‚©‚µ‚½‚¢‚ñ‚¾‚¯‚ǂȂŸ
86:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/01/15 22:18:25
ƒCƒ“ƒ‰ƒCƒ“‚ŃKƒŠƒKƒŠ‘‚‚µ‚©‚È‚‚ËH
87:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/01/15 23:44:17
‚È‚é‚ׂƒAƒZƒ“ƒuƒŠ‚Í”ð‚¯‚½‚©‚Á‚½‚Å‚·‚ªA
inline __m128d round(__m128d d,__m128i mask){
__asm__ __volatile__ ("pand %1,%0" : "+x"(d) : "x"(mask));
return d;
}
‚Å‚µ‘¬‚‚È‚è‚Ü‚µ‚½B
‚Ç‚à‚Ç‚àB
88:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/06 14:49:39
720*480‚ÌBMP‚ð640*480‚Ék¬‚·‚é‚Ì‚ÉMMX‚ðŽg‚¦‚È‚¢‚©ŽvˆÄ’†B
89:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/06 16:32:46
640*480‘¤‚Å8ƒsƒNƒZƒ‹i24byte=MMX*3j‚¸‚‚â‚ê‚΂¢‚¢‚©‚ÈB
720*480‘¤‚Í•’ʂɓǂނ̂Æ3byte‚¸‚炵‚ēǂނ̂ð‚â‚Á‚Ä
Š|‚¯ŽZ‚ʼnÁd‚µ‚ÄEEE‚ AMMX‚ÌæŽZ‚Í16bit‚¾‚¯‚©B
‚ǂ̂‚ç‚¢‚Ì‘¬“x‚ɂȂ邾‚ëB
90:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/06 18:01:30
‹v‚µ‚Ԃ肾‚Á‚½‚©‚ç”z—ñ‚̃AƒhƒŒƒX‚ðmov‚Åeax‚É“ü‚ê‚æ‚¤‚ÆŽl‹ê”ª‹ê‚µ‚Ä‚µ‚Ü‚Á‚½orz
¡‚©‚çbmp‚Ì\‘¢‚ðŽv‚¢o‚»‚¤‚Æ‚µ‚Ä‚¢‚鉴‚ÍŠ®‘S‚Éo’x‚ê‚©‚ÈH
91:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/06 18:42:06
>>90
‚Âoffset
92:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/06 21:28:47
>>90
‚Âlea
93:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/06 22:07:42
>88
ƒoƒCƒŠƒjƒA‚ðMMX‚ÅŽÀ‘•‚·‚邾‚¯B
‚µ‚©‚à480‚Åcƒ‰ƒCƒ“ŒÅ’è‚È‚ç‚PŽžŠÔ‚‚ç‚¢‚Åo—ˆ‚é‚ñ‚¶‚á‚ËH
94:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/07 10:21:03
//‰¡‚̃hƒbƒg”‚ª9‚Æ4‚Ì”{”‚Ì24bitBMP‚ɑ΂µA‰¡‚ð8/9‚Ék‚ß‚é
void resize(unsigned char *p,int w,int h)
{
@int i,j,k,n;
@n=w/9*h;
@for (k=0; k<n; k++){
@@for (j=0; j<8; j++){
@@@for (i=0; i<3; i++){
@@@@p[(k*8+j)*3+i]=((8-j)*p[(k*9+j)*3+i]+(1+j)*p[(k*9+j+1)*3+i]+4)/9;
@@@}
@@}
@}
}
9ƒsƒNƒZƒ‹*n‰ñ‚̈—B‚Ü‚¸C‚Å‘‚¢‚Ä“®ì‚·‚邱‚Æ‚ðŠm‚©‚ß‚½i‚à‚Í‚â\•ª‚È‘¬“x‚¾‚ÈEEEjB
MMX‚à‚±‚ê‚Æ“¯‚¶•ûj‚Ås‚B
MMX‚ɂ͜ŽZ–½—ß‚ª‚È‚¢‚Ì‚ÅæŽZ‚Å‘ã—pB
¸“x‚à16bit‚¾‚©‚çA8bit‚Ì”’l‚ɑ΂µ‚Ă͂قƂñ‚Ç–â‘è‚È‚¢B
MMX”ł̃R[ƒh‚ÍAŽŸ‚̂悤‚Éݒ肵‚ÄŽŸƒŒƒX‚̃R[ƒh‚ðn‰ñƒ‹[ƒv‚³‚¹‚éB
short m[48]={8,8,8,7,7,7,6,6,6,5,5,5,4,4,4,3,3,3,2,2,2,1,1,1,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8};
n=w/9*h;
eax=mAesi=edi=p
mm5={4,4,4,4} ;=9/2
mm6={7282,7282,7282,7282} ;=10000h/9
mm7={0,0,0,0}
‘¬“x‚ÍA‘f’Ê‚µiHDD‚ÌBMP‚ðƒRƒs[‚·‚邾‚¯j‚ª156msAMMX‚ª175msAC”Å‚ª241msB
720*480‚ÌBMP‚ð5ŒÂ•ÏŠ·‚·‚é‚̂ɂ©‚©‚Á‚½ŽžŠÔiPentiumMjB
‚Ü‚ AƒfƒBƒXƒNƒLƒƒƒbƒVƒ…‚Ƀqƒbƒg‚µ‚È‚©‚Á‚½‚çA‚¸‚Á‚Æ’x‚‚Ȃ邯‚ÇB
–{—ˆ‚È‚ç”ñSIMDƒAƒZƒ“ƒuƒ‰‚Ƃ̔äŠr‚à‚µ‚½‚¢‚Æ‚±‚낾‚ªA‚±‚±‚Ü‚ÅB
3ŒÂ‚Ìo—͂𒲂ׂÄAMMX”Å‚ÆC”Å‚Ìo—͂͑S‚Ĉê’v‚µ‚Ä‚¢‚½B
95:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/07 10:21:34
xor ecx,ecx
lp0:
movq mm0,[esi+ecx]
movq mm1,mm0
punpcklbw mm0,mm7
punpckhbw mm1,mm7
pmullw mm0,[eax+ecx*2]
pmullw mm1,[eax+ecx*2+8]
movq mm2,[esi+ecx+3]
movq mm3,mm2
punpcklbw mm2,mm7
punpckhbw mm3,mm7
pmullw mm2,[eax+ecx*2+48]
pmullw mm3,[eax+ecx*2+48+8]
paddw mm0,mm2
paddw mm1,mm3
paddw mm0,mm5
paddw mm1,mm5
pmulhw mm0,mm6
pmulhw mm1,mm6
packuswb mm0,mm1
movq [edi+ecx],mm0
add ecx,8
cmp ecx,24
jnz lp0
add esi,27
add edi,24
;MMX‚ŃoƒCƒŠƒjƒA‚Ă̂͂ǂ¤‚â‚é‚ÌH
96:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/09 09:45:01
>>90
•Ï”‚Ì’†g‚ւ̃|ƒCƒ“ƒ^‚ðŽæ“¾‚·‚邯ƒAƒZƒ“ƒuƒŠ‚Å‚Í
lea eax,[esp-12]
‚̂悤‚ɂȂ邩‚çAmov‚ÍŽg‚¦‚È‚¢‚Ì‚¾‚ËB
int *a;‚È‚çmov eax,a‚Å‚«‚Ä‚àAint a[4];‚¾‚Æmov eax,a‚ÅŽ‚ñ‚¾‚©‚ç‚ÈB
‚ ‚̂Ƃ«‚Í‚¯‚Á‚±‚¤”Y‚ñ‚¾B
97:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/11 09:08:17
SIMD‚ÅŒvŽZ‚µ‚½‚¢ƒuƒƒbƒN‚ð‚‹‰Œ¾Œê‚Å–¾Ž¦‚Å‚«‚È‚¢‚©‚ÈB
‚½‚Æ‚¦‚ÎACŒ¾Œê•—‚Ì–Ï‘zŒ¾Œê...
struct complex_t {
@ @ float r, i;
};
foo() {
@ @ complex c[4];
@ @ VEC( float re : [ c[0].r, c[1].r, c[2].r, c[3].r ], float im : [ c[0].i, c[1].i, c[2].i, c[3].i ] ) {
@ @ @ @ float t = re * re - im * im;
@ @ @ @ im = 2 * re * im;
@ @ @ @ re = t;
@ @ }
‚Æ‚©‘‚‚ÆAVECƒuƒƒbƒN‚Ì’†‚ªŽ©“®“I‚ÉSIMD–½—ß‚Å\¬‚³‚ê‚éB
( SIMD–¢‘Ήž‚ÌCPUŒü‚¯‚̂Ƃ«‚ÍA’Êí‚Ì–½—߂ɂȂé )
SIMD‚ÅŽÀs‚·‚é‚Ì‚¾‚©‚çAVECƒuƒƒbƒN’†‚ɂ͕ªŠò‚Í‚©‚¯‚¸A
ƒ‹[ƒv‚àŒÅ’è‰ñ”ƒ‹[ƒv‚¾‚¯B
‚Ç‚¤H‚±‚Ì–Ï‘zŒ¾ŒêB
98:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/11 11:51:13
‚P‚‚Ì\‘¢‘Ì‚ªƒƒ‚ƒŠã‚Ńoƒ‰ƒoƒ‰‚ɂȂÁ‚Ä‚é‚ÈB
‚»‚ê‚Í‚¢‚¢‚Æ‚µ‚ÄA‘g‚Ýž‚ÝŠÖ”‚Ɖ‰ŽZŽqƒI[ƒo[ƒ[ƒh‚ł悂Ȃ¢H
‚½‚¾A‰´‚à‚»‚¤‚¢‚¤Œ¾Œê‚Í—~‚µ‚¢‚ÆŽv‚Á‚Ä‚¢‚½B
‚¹‚Á‚©‚CPU‚ÉFX‚È–½—ß‚ª‚ ‚é‚ñ‚¾‚©‚çA–½—ß‚ªŒ©‚¦‚錾Œê‚ª‚¢‚¢‚æ‚ËB
‚»‚¤‚¢‚¤ˆÓ–¡‚¶‚áC‚̃Vƒtƒg‰‰ŽZŽq‚Æ‚©ƒiƒCƒX‚ÆŽv‚Á‚½B
99:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/11 19:29:54
IntrinsicsŽg‚¦‚βݼެÈ?
ÅI’i‚Å‹@ŠB”C‚¹‚ÌÅ“K‰»‚·‚é‚È‚çA
‚»‚̂܂ÜC‚Å‚à\‚í‚È‚¢‚ÆŽv‚¤‚¯‚ÇB
100:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/17 21:01:05
8bitƒrƒbƒgƒ}ƒbƒv(ƒOƒŒ[ƒXƒP[ƒ‹)‚©‚ç32bitƒrƒbƒgƒ}ƒbƒv‚ւ̕ϊ·‚ðAMMXŽg‚Á‚Ä
ŽÀ‘•‚µ‚悤‚Æ‚µ‚Ä‚¢‚é‚̂ł·‚ªAŽv‚Á‚Ä‚¢‚½‚æ‚è‚à‘‚‚Ȃ炸‚É“ïa‚µ‚Ä‚¢‚Ü‚·B
@“K“–‚È‚â‚è•û‚µ‚Ä‚¢‚é‚͎̂©Šo‚µ‚Ä‚¢‚é‚̂ł·‚ªA“¯‚¶‚“K“–‚É‚b‚Å‘‚¢‚½ƒ‹[ƒ`ƒ“
‚ÆAƒŠƒŠ[ƒX”Å‚ÌÅ“K‰»ƒRƒ~‚Å‘¬“x•Ï‚í‚炸‚Á‚Ă̂͂©‚Ȃ艚‚݂܂µ‚½B
@‚Ç‚±‚©‚à‚Á‚ÆÅ“K‰»‚·‚éꊂª‚ ‚é‚̂łµ‚傤‚©H@‚²‘¶‚¶‚Ì•û‚²‹³ŽöŠè‚¢‚Ü‚·B
void testcopy( void *dst, const void *src, int size )
{
@@int size2 = size >> 1;
@@if(size2 != 0){
@@@@__asm{
@@@@@@mov edi, dst;
@@@@@@mov esi, src;
@@@@@@mov ecx, size2;
@@@@loop_mp:
@@@@@@movq mm0, [esi];
@@@@@@punpcklbw mm0, mm0;
@@@@@@punpcklbw mm0, mm0;
@@@@@@movq [edi], mm0;
@@@@@@lea esi, [esi + 2];
@@@@@@lea edi, [edi + 8];
@@@@@@dec ecx;
@@@@@@jnz loop_mp;
@@@@@@emms;
@@@@}
@@}
}
101:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/17 21:20:54
>>100
Žg—pCPU‚͉½H
lea esi, [esi + 2] ‚Íadd esi,2 ‚Ì‚ª–³“‚ÆŽv‚¤BPen4‚È‚çadd‚Ì‚ª‘¬‚¢B
movq‚Í8byte‚¾‚©‚çÅŒã‚Ì2byte“ǂނƂ«‚É6byte—]Œv‚ɓǂñ‚Å‚µ‚Ü‚¤‚Ì‚ª‹CŽ‚¿ˆ«‚¢B
‘¬“x‚Ì–Ê‚©‚ç‚àA“ǂݎæ‚è‚ð2byte–ˆ‚¶‚á‚È‚4byte‚©8byte‚É‚·‚é‚ׂ«B
MMX2‚ªŽg‚¦‚é‚È‚çpshufw‚ðŽg‚Á‚Ä‚à‚¢‚¢‚©‚ÈB
movd mm0, [esi];
punpcklbw mm0, mm0;
movq mm1,mm0
punpcklbw mm0, mm0;
punpckhbw mm1, mm1;
movq [edi], mm0;
movq [edi], mm1;
add esi,4;
add edi,16;
sub ecx,2;
jnz loop_mp;
‘¦‹»‚Åì‚Á‚ÄŽŽ‚µ‚ĂȂ¢‚¯‚ÇA‚±‚ñ‚Ȃ̂łǂ¤‚Å‚µ‚åB
102:100
06/02/17 21:25:43
>101
>Žg—pCPU‚͉½H
@‘‚«–Y‚ê‚Ä‚¢‚Ü‚µ‚½BCPU‚ÍPen4‚Å‚·‚ªA”Ž–î(VC6sp6ŠJ”)‚Ì‚½‚ß
MMX‚܂ł̧ŒÀ‚ɂȂÁ‚Ă܂·B
103:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/17 21:39:40
‚»‚¤‚¢‚¦‚ÎA‚±‚ꈗ‚ªŒy‚¢‚©‚烃‚ƒŠ‘¬“x‚ªƒ{ƒgƒ‹ƒlƒbƒN‚ɂȂé‚ËB
‚¨‚»‚ç‚C‚Å‘‚¢‚½ƒ‹[ƒ`ƒ“‚Å‚àƒƒ‚ƒŠ‘шæ‚ðŽg‚¢Ø‚Á‚Ä‚¢‚é‚ɋ߂¢‚ÆŽv‚¤B
‚ ‚肦‚ñ˜b‚¾‚ªAƒƒ‚ƒŠ‚ªL1ƒLƒƒƒbƒVƒ…‚‚ç‚¢‘¬‚¢ŠÂ‹«‚È‚ç‚Î
>>100Ž‚ÍCƒRƒ“ƒpƒCƒ‰‚ɑ埂µ‚Ä‚¢‚½‚¾‚낤B
‚ ‚ÆA‚±‚̂悤‚É–ˆ‰ñŽÀs‚·‚é—]Œv‚Ȉ—‚ª4–½—ß‚à‚ ‚é‚Ì‚ÅA
ƒ‹[ƒv‚ðƒAƒ“ƒ[ƒ‹‚·‚ê‚΂µ‘¬‚‚È‚é‚ÆŽv‚¤B
lea esi, [esi + 2];
lea edi, [edi + 8];
dec ecx;
jnz loop_mp;
>>102
SP6‚©B‚»‚ê‚ÍŽc”OBŒã‚Ånasm‚Å‚àŽg‚Á‚Ă݂Ă‚¾‚³‚¢B
Pen4‚¾‚ÆALU‚ª‘¬‚‚ÄMMX‚ª’x‚¢‚©‚ç‚ÈB
104:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/17 22:15:40
‰æ‘œˆ—‚̓ƒ‚ƒŠ‚̃AƒNƒZƒX‘¬“x‚ªƒ{ƒgƒ‹ƒlƒbƒN‚¾‚æ‚È`
105:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/17 22:30:45
Microsoft Visual C++ Toolkit 2003
URLØÝ¸(msdn.microsoft.com)
106:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/17 23:09:57
SSE‚ªŽg‚¦‚ê‚Îprefetch‚ª‚ ‚é‚ñ‚¾‚¯‚ǂȂŸB
107:100
06/02/18 10:01:35
@‚¢‚ë‚¢‚ë‚Æ•Œ¾‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·BŽQl‚É‚µ‚Ä‚¢‚ë‚¢‚뎎‚µ‚Ă݂܂·B
>>103
>Œã‚Ånasm‚Å‚àŽg‚Á‚Ă݂Ă‚¾‚³‚¢B
@ŒÂl‚ÅŽŽ‚·•ª‚ɂ͎v‚¢‚Á‚«‚è‚â‚Á‚Ă݂½‚¢‚Æ‚±‚ë‚Ȃ̂ł·‚ªA
‚»‚±‚܂ł·‚邯ˆø‚«Œp‚¬‚ªo—ˆ‚È‚‚È‚Á‚Äi—ªj‚ÈŽ–‚ɂȂé‚Ì‚Åcc
108:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/18 18:14:08
‚¢‚܂ǂ«ƒA[ƒLƒeƒNƒ`ƒƒ[ˆË‘¶‚̃AƒNƒZƒ‰ƒŒ[ƒ^‚ȂǗ¬s‚ç‚ñ
109:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/18 20:32:13
>>97
ivec.h
fvec.h
dvec.h
‚ðƒCƒ“ƒNƒ‹[ƒh
110:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/18 23:38:01
>>109
‚»‚¤‚¢‚Á‚½ƒNƒ‰ƒXƒ‰ƒCƒuƒ‰ƒŠ‚¶‚á‚È‚‚ÄŒ¾Œê‚ÌŠg’£Žd—l‚É
–„‚ßž‚ñ‚Å—~‚µ‚¢‚Á‚ÄŒ¾‚Á‚Ä‚ñ‚¶‚á‚È‚¢‚ÌH
111:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/19 00:03:31
>>110
‚»‚ñ‚È‚±‚Ƃ͌¾‚Á‚ĂȂ¢
112:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/19 00:40:17
‰´‚à–Ï‘zŒ¾Œê‚Íl‚¦‚Ă邿B‚Â[‚©‚Ý‚ñ‚Ȉê“x‚Íl‚¦‚Ä‚é‚ñ‚¶‚á‚È‚¢‚©‚È‚Ÿ
multivalue<@float,@3@>@m0(@1.0f,@2.0f,@3.0f),@m1(@5.0f,@5.0f,@4.0f),@m2;
simd@foreach(@float@v0@in@m0,@float@v1@in@m1,@float@r0@in@m2)
{
float@t@=@v0@*@v0@+@v1@*@v1;@
if(@t@>@0.9f)
r0@=@t;
else
r0@=@0.0f;
}
•ªŠò‚ÍA’Ê‚éƒuƒƒbƒN‚Í‘S‚ÄŽÀs‚µ‚ÄÅŒã˜_—Ï‚Á‚ÄŒ`‚ɂȂ邩‚È‚ŸB
’N‚©ì‚Á‚ÄAC++‚ւ̃Rƒ“ƒo[ƒ^‚Å‚¢‚¢‚©‚炳B
113:EÍEj‚Á-›œ- ŸPu/ODYSSEY
06/02/19 02:01:05
‚Ç‚¤‚݂Ăàivec.h/fvec.h/dvec.h‚ÌŽg‚¢•ûе‚ꂽ‚Ù‚¤‚ªŠy‚Å‚·
F32vec4 m0(1.0f, 2.0f, 3.0f, 0.0f);
F32vec4 m1(5.0f, 4.0f, 4.0f, 0.0f);
F32vec4 m2 = m0 * m0 + m1 * m1;
m2 = select_gt(m2, F32vec4(0.9f, 0.9f, 0.9f, 0.9f), m2, F32vec4(0.0f, 0.0f, 0.0f, 0.0f));
114:EÍEj‚Á[http://www.coins-project.org/] ŸPu/ODYSSEY
06/02/19 02:15:47
‚±‚±‚ªŽÀŒ»‚µ‚Ä‚‚ê‚é‚̑҂¿‚Ü‚µ‚傤B‚Ç‚¤‚àÅ‹à‚Ì–³‘ÊŒ‚¢L‚¢‚Ì‚¾‚ªB
115:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/19 02:28:09
‚»‚¤‚¢‚â
Eƒf[ƒ^“ǂݞ‚Ý
E“¯ƒAƒhƒŒƒX‚Ƀf[ƒ^‘‚«ž‚Ý
‚ðs‚Á‚½ê‡A‚±‚̃f[ƒ^‘‚«ž‚Ý‚ÌÛ‚Émovnti‚Æ‚©Žg‚Á‚Ä‚à‘S‘R
‘‚‚È‚ç‚È‚¢‚ñ‚¾‚¯‚ê‚Ç‚àA‚±‚ê‚Á‚Ä‘ÎÛƒAƒhƒŒƒX‚ÉŠù‚Ƀf[ƒ^‚ª“ü‚Á‚Ä‚¢‚é
ê‡A”ñƒeƒ“ƒ|ƒ‰ƒ‹Žw’è‚̓LƒƒƒbƒVƒ…‰˜õ‚ð–h‚®‚½‚߂ɂâ‚é‚ñ‚¾‚©‚ç
ƒLƒƒƒbƒVƒ…‚É“ü‚Á‚Ä‚¢‚Ă͈Ӗ¡‚ª–³‚¢‚Á‚ÄŽ–‚¾‚æ‚ÈH
116:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/20 13:33:53
>100
vcpp5‰ð“€‚µ‚Äml.*‚ðƒRƒs[‚·‚ê‚ÎSSE2–½—ß‚‚ç‚¢‚܂Ŏg‚¦‚½‚Í‚¸A
‚Á‚Ä‚©‰´‚ÍVC6SP6‚ÅŽg‚¦‚Ä‚éB
‚à‚µ‚‚ÍAVC6ƒCƒ“ƒXƒR¨SP5¨vcpp5¨SP6‚Å‚à‚¢‚¯‚½ŠóƒKƒXB
117:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/20 13:37:05
434 –¼‘OFEÍEj‚Á-›œ- ŸPu/ODYSSEY “Še“úF2006/01/11(…) 00:05:58
˜_”j‚³‚ê‚Ă₪‚é‚´‚Ü‚Ÿ‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—
118:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/20 14:09:47
>>115
ˆÓ–¡‚È‚¢‚ËB‚»‚ÌꇂÁ‚ă[ƒh‚ðƒvƒŠƒtƒFƒbƒ`‚·‚ê‚Î
ƒs[ƒN«”\‚ðˆø‚«o‚¹‚é‚Ì‚©‚ÈH
119:100
06/02/20 20:02:21
‹à—j“ú‚É‚¨¢˜b‚ɂȂè‚Ü‚µ‚½>100 ‚Å‚·B
>101 “a‚̃AƒhƒoƒCƒX‚ðŒ³‚ÉA‰ü—ǔłð쬂µ‚ÄŽÀŒ±‚µ‚½‚Æ‚±‚ëAŽŽs‚P‰ñ‚ ‚½‚è
0.01ms‚Ù‚Ç‘‚‚È‚è‚Ü‚µ‚½iÎ
”640~480ƒTƒCƒYA1–œ‰ñŽŽs‚Ì•½‹ÏB
MMXƒŒƒWƒXƒ^‚W–{‘S•”Žg‚Á‚Ä‚P‚UƒsƒNƒZƒ‹•ª‚Pƒ‹[ƒv‚ň—‚·‚éƒTƒ“ƒvƒ‹‚àŽÀŒ±
‚µ‚Ă݂܂µ‚½‚ªiƒ‹[ƒv‰ñ”팸‚ðŠé}jA‚â‚Í‚è‚Ù‚Æ‚ñ‚Ǖςí‚è‚Ü‚¹‚ñ‚Å‚µ‚½B
@ˆ—‰æ‘œƒTƒCƒY‚ð‘å‚«‚‚µ‚Ä‚àA0.1ms‚قǂ̈Ⴂ‚µ‚©o‚È‚¢‚±‚Æ‚ðl‚¦‚邯A
uƒƒ‚ƒŠ‘¬“x‚ªƒlƒbƒN‚ɂȂév‚Æ‚¢‚¤>103A>104 “a‚ÌŽw“E‚Ƀnƒ}‚Á‚Ä‚¢‚»‚¤‚Å‚·B
@‘¼‚Ìì‹ÆŽwަ‚ª”ò‚ñ‚Å‚«‚½‚Ì‚ÅAŒ»ó‚Å‚±‚êˆÈã‚Ì’Ç‹‚Ío—ˆ‚È‚‚È‚Á‚Ä
‚µ‚Ü‚¢‚Ü‚µ‚½‚ªAƒƒ‚ƒŠ‘¬“x‚âÅ“K‰»‚̈Ӌ`‚Ȃǂɂ‚¢‚Ä[‚l‚¦‚é—Ç‚¢‹@‰ï‚É
‚È‚è‚Ü‚µ‚½BÜ‚ðŒ©‚Ä‚Ü‚½‚¢‚ë‚¢‚뎎‚µ‚Ă݂½‚¢‚ÆŽv‚¢‚Ü‚·B
>116 “a
@‚©‚Ȃ肻‚ê‚Í–£—Í“I‚ÈŽè’i‚Å‚·‚ªccˆø‚«Œp‚¢‚¾Œã‚Ɋ‹«Ä\’z‚Å‚«‚élŠÔ‚ªi‚’‚™
120:97
06/02/21 12:50:45
>>111
‚¢‚⌾‚Á‚Ä‚¢‚éB
‚Ç‚¿‚ç‚©‚Æ‚¢‚¤‚ÆŒ¾Œê‚Ì•W€Žd—l‚Å‚ ‚Á‚Ä‚à‚ç‚¢‚½‚¢‚ËB
Œ‚Ì‹L–@‚ª³Ž®Ì—p‚³‚ꂽ‚çÅ“K‰»ƒGƒ“ƒWƒ“‚ÍŠyƒ`ƒ“‚ɃxƒNƒgƒ‹‰»o—ˆ‚邵
SIMDŽg‚¦‚È‚¢‚Æ‚«‚Å‚àˆË‘¶ŠÖŒW‚̉ðÍ‚ªŠy‚ɂȂéB
ˆ—‚ª’·‚¢‚Æ‚«‚̓XƒŒƒbƒh‰»‚¾‚Á‚ăCƒP‚éB
‚ǂꂩ‚ÌŒ¾Œê‚ª‚±‚ñ‚ÈŠ´‚¶‚Ì‹@”\‚ðŽÀ‘•‚µ‚½‚ç(‚ ‚é‚¢‚Í–ñ‘©‚µ‚½‚ç)A
–¾“ú‚É‚Å‚à‚»‚ÌŒ¾Œê‚Éæ‚芷‚¦‚é‚ËB
121:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/21 13:18:37
>>119
0.01ms‚©BŽv‚Á‚½‚æ‚èŒø‚©‚È‚¢‚ÈB
prefetch‚Ì‘ã‘Ö‚È‚çmov‚ðŽg‚¤‚Æ‚¢‚¤Žè‚à‚ ‚邪A‚±‚̈—‚Ì—v‚Ímovntq‚¾‚©‚ç‚ÈB
Œã‚ʼn´‚àŽŽ‚µ‚Ă݂悤B
122:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/21 13:58:35
Win‹@‚Å‚Ìprefetch‚Í‚¢‚ë‚¢‚ë‚â‚Á‚½‚¯‚Ç‚ ‚Ü‚èŒø‚©‚È‚©‚Á‚½B
Œø‰Ê‚Ä‚«‚ß‚ñ‚Èl‹‚éH
•Ê‚ÌCPU‚Å‚¤‚Ü‚¢‚±‚ÆŽg‚Á‚Ä”š”“I‚É‘¬‚‚È‚Á‚½ŒoŒ±‚Í‚ ‚é‚©‚çA
‚¿‚á‚ñ‚Ƃ͂܂ê‚ÎŒø‰Ê‚ª‚ ‚邱‚Ƃ͗‰ð‚µ‚Ä‚é‚ñ‚¾‚¯‚ÇŽ¸”s‘±‚«c
VTune‚Æ‚©‚Ńƒ‚ƒŠƒAƒNƒZƒX‚̃pƒ^[ƒ“‚Æ‚©Œ©‚ê‚Ή½‚Æ‚©‚Ȃ邩
‚Æ•]‰¿”Å‚ðŽŽ‚µ‚Ă݂½‚¯‚ÇŒ‹‹Ç‚¤‚Ü‚s‚Á‚ĂȂ¢BŽc”O–³”O
123:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/21 14:03:39
”ñŽÀ—pƒR[ƒh‚ÅŽŽ‚µ‚Ä‚àA‚PŠ„‚‚ç‚¢‘¬‚‚Ȃ邾‚¯‚¾‚ËB
ƒLƒƒƒbƒVƒ…ƒ‰ƒCƒ“‚Í64byte‚È‚¢‚ƂقƂñ‚ÇŒø‚©‚È‚¢‚ÆŽv‚¤B
124:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/21 14:23:50
>>122
PGI‚̉R‚Á‚Û‚¢Å“K‰»Œ‹‰Ê‚É‚æ‚邯
URLØÝ¸(www.softek.co.jp)
‚¾‚»‚¤‚ÈB
125:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/21 16:37:15
PGIƒXƒŒ‚É‚¬‚í‚Á‚ĂȂ¢‚¯‚ÇAƒzƒ“ƒg‚É«”\o‚é‚à‚ñ‚©‚Ë‚¦H
intel‚Å‚àƒIƒŒ‚̃P[ƒX‚ł͂܂Á‚½‚Œø‰Ê‚È‚©‚Á‚½‚µi«”\ƒNƒŠ
ƒeƒBƒJƒ‹‚È•”•ª‚Í‘S•”SIMD‰»‚µ‚Ä‚¢‚éjAicc‚ÅÅ“K‰»
‚©‚¯‚½«”\‚̓IƒŒ‚ÌasmƒR[ƒh‚É‚º‚ñ‚º‚ñ‚Ì‚æ‚΂Ë[‚µB
126:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/21 17:05:03
ƒn[ƒhƒEƒFƒAƒvƒŠƒtƒFƒbƒ`‚‚¢‚Ă邩‚çA
ƒ\ƒtƒgƒEƒFƒAƒvƒŠƒtƒFƒbƒ`‚ÌŒø‰Ê”–‚¢‚Ì‚©‚à‚ËB
ƒƒ‚ƒŠƒAƒNƒZƒXƒŒƒCƒeƒ“ƒV‘Îô‚É‚Íicc‚Ì
#pragma unroll(?)
‚Í’i”•Ï‚¦‚Ä‚Ý‚é‚ÆŒ‹\Œø‚ꇂª‚ ‚é‚ËB
127:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/21 21:34:42
ƒoƒ^ƒtƒ‰ƒC‰‰ŽZ‚ª‰Ø—í‚É‘‚¯‚È‚¢‚̂͒ɂ¢‚ÈB‘¼‚̃ŒƒWƒXƒ^‚ɃRƒs[‚µ‚Ä
•ʂɌvŽZAƒ}ƒXƒN‚µ‚Ä‚©‚猳‚̃ŒƒWƒXƒ^‚ɉÁŽZ‚Æ‚©AƒXƒeƒbƒv‚ª—]Œv‚É‚©‚©‚Á‚Ä
‚µ‚傤‚ª‚È‚¢B
“ñŽŸŒ³DCT‚ðFCT‚Å‘‚¢‚½‚à‚Ì‚ÆA‚܂Ƃà‚ÉDCT‚µ‚½‚à‚Ì‚ð”ä‚ׂ½‚çA•’Ê‚Ì
DCT‚̂ق¤‚ªŠô‚ç‚©‘¬‚©‚Á‚½orz
˜r‚ªˆ«‚¢‰Â”\«‚à‘傾‚ªB
V-Tune‚È‚ñ‚‚¤ƒuƒ‹ƒWƒ‡ƒA‚È‚à‚͎̂‚Á‚ĂȂ¢‚Ì‚ÅAvisio‚Ń_ƒCƒ„ƒOƒ‰ƒ€‚ð
‘‚¢‚ÄAƒyƒiƒ‹ƒeƒB‚ð‹É—ÍH‚ç‚í‚È‚¢‚悤‚É‘g‘Ö‚¦‚Ä‚©‚çƒ\[ƒX‚ð‘‚«‚Ü‚µ‚½
‚Æ‚³BŽè“®Å“K‰»ƒ}ƒ“ƒZ[B
128:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/21 22:24:19
shuffle–½—ß‚âSSE3Žg‚Á‚Ä‚éH
129:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/22 10:48:20
SSE‚·‚çŽg‚Á‚ĂȂ¢B
‚¨‹q‚Í5A6”NˆÊ‘O‚̃XƒyƒbƒN‚Å‚àŒ‹\•½‹C‚ÅŽg‚Á‚Ă邩‚ç‚ÈB
SSE3‘Ήž‚Ì΂ɂ¹‚æA‚±‚Ì‘‚ł͂·‚łɃfƒXƒNƒgƒbƒvŽsê‚ð‰z‚¦‚½ƒm[ƒgŽsê‚Å
Å‹ßoŽn‚ß‚½‚΂©‚è‚ÅAŽg‚¦‚È‚¢‚±‚Ƃ̂ق¤‚ª‘½‚¢B
Intel@Mac‚ ‚½‚肪‘ÎÛ‚È‚çA‚ ‚ñ‚Ül‚¦‚È‚‚Ä‚¢‚¢‚¯‚ÇB
‚Ü‚ŸMMX‚܂ł͊®‘S‚É‘¶Ý‚ð‘O’ñ‚É‘‚¢‚½‚è‚·‚邪‚ÈB
MMX”ñ‘Ήž‚Ì΂͂ǂ݂̂¿â‘Ϋ”\‚ª•s‘«‚·‚é‚Ì‚ÅØ‚èŽÌ‚ĂĂéB
‚‚©ASSE2/3‚Á‚ÄA–{“–‚É‚²‚“ÁŽê‚ȉ‰ŽZ‚𜂯‚ÎAMMX‚Ì—L–³’ö‚ɂ̓pƒtƒH[ƒ}ƒ“ƒX‚ɉe‹¿‚È‚¢‚ñ‚¾‚æ‚ÈB
130:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/22 11:00:13
>>129
„SSE2/3‚Á‚ÄA–{“–‚É‚²‚“ÁŽê‚ȉ‰ŽZ‚𜂯‚ÎAMMX‚Ì—L–³’ö‚ɂ̓pƒtƒH[ƒ}ƒ“ƒX‚ɉe‹¿‚È‚¢
“¯ˆÓ
‚l‚l‚w‚ł̂«”\‰»‚É”ä‚ׂĂr‚r‚dˆÈ~‚Í‚©‚Ȃ肪‚Á‚©‚è‚Ȃ̂¾B
‚l‚l‚w‚Æ“¯’ö“x‚É“w—Í‚µ‚½‚ª“¯‚¶—¦‚ł̂‘¬‰»‚Í‚µ‚È‚©‚Á‚½‚æB
Š|‚¯ŽZ‚É–³•„†‚ª•t‚¢‚½MMX2‚Íʼn‚©‚ç‚â‚Á‚Æ‚¯‚Æ
131:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/22 11:50:23
‚ÜA‚ ‚ê‚©BƒvƒƒOƒ‰ƒ€‹N“®Žž‚ÉCPU‚ÌŽí—Þ‚ð”»•Ê‚µ‚ÄA‚»‚ꂼ‚ê‚É
Å“K‚ȃ‹[ƒ`ƒ“‚𑖂点‚邯‚¢‚¤‚Ì‚ª•’Ê‚©B
132:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/22 12:27:12
Žè“®Å“K‰»‚ÍMMX‚¾‚¯Žg‚Á‚Ä
SSE‚̓Rƒ“ƒpƒCƒ‰‚ÉŠÛ“Š‚°
‚»‚ñ‚ȃVƒiƒŠƒI‚ð‘z’肵‚Ä‚ ‚銴‚¶
133:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/22 13:04:07
MMX‚͂܂Ÿ“–‘R‚Æ‚µ‚ÄASSE‚ÍP3/AthlonXP‚©‚炾‚Á‚¯H
x86‚Ì•‚“®¬”“_–½—߂͎g‚¢‚É‚‚¢‚©‚çSSE‚Å‚ÌÅ“K‰»‚ÍŒ‡‚©‚¹‚È‚¢‚È‚ŸB
3D Now! ‚̘b‘肪‘S‚–³‚¢‚̂͌݊·«Š„‚èØ‚é‚Ù‚Ç‘¬“xo‚È‚¢‚©‚ç‚©B
>129
SSE2/3‚Ì–½—ß‚Á‚ÄmovŒn‚Æ‚¸“x‰‰ŽZ–½—ߌnˆÈŠO‚ɂȂñ‚©‚ ‚ñ‚ÌH
134:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/22 13:47:08
>>133
MendocinoƒRƒACeleron‚ÌÚ‚Á‚½ƒ}ƒVƒ“‚Æ‚©Œ»–ð‚ÅŽg‚Á‚Ä‚él‚ªŒ‹\‚¢‚é‚©‚ç
SSE‚à‰I舂Ɏg‚¦‚È‚¢‚—‚—‚—
‚à‚Á‚Æ‚àA‚¤‚¿‚ÍŠî–{“I‚É®”‰‰ŽZ‚©”{¸“xŽÀ”‰‰ŽZ‚µ‚©–Å‘½‚ÉŽg‚í‚È‚¢
l‚È‚ñ‚ÅAƒpƒbƒNƒh’P¸“x‚Á‚Ä‚»‚ñ‚ȂɗL‚è“ï–¡‚ª–³‚¢B
pmovmskb‚Æ‚©maskmovq‚Æ‚©‚à‚»‚ê‚È‚è‚ɕ֗˜‚¾‚¯‚ÇA‚í‚´‚í‚´•ÊX‚ÌÅ“K‰»ƒR[ƒh
‘‚¢‚ăfƒBƒXƒpƒbƒ`‚·‚邾‚¯‚̘J—͂Ɍ©‡‚Á‚½Œø‰Ê‚à“¾‚É‚‚¢‚ñ‚¾‚æ‚ÈB
> SSE2/3
ƒzƒ‰A‚ ‚é‚¶‚á‚È‚¢‚©BMMX/3DNOW!‚ð–³—–î—“ñ‚‚‚Á•t‚¯‚½—l‚È•³–½—ߌQ‚ªB
‚±‚̂ւñ‚͉‰ŽZƒ†ƒjƒbƒg‚ª128bit‰»‚·‚邯‚«‚Ì‚½‚߂̕z΂Æl‚¦‚Ă邪B
‚Ä‚©A64bit‚É‚È‚é‚ÆMMX‚à‚»‚ë‚»‚ë—v‚ç‚È‚‚Ȃ肻‚¤‚È•µˆÍ‹CB
–O˜a‰‰ŽZ‚Æ‚©Šhaˆ—‚Æ‚©‚â‚ç‚È‚‚Ä‚¢‚¢‚È‚ç”Ä—pALUŽg‚Á‚½‚Ù‚¤‚ª‘¬“x‚ªo‚é‚ñ‚¾‚æ‚ËB
135:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/22 15:08:51
>>100‚̃R[ƒh‚ÆA>>119‚ÅŽg‚í‚ꂽ‚ÆŽv‚í‚ê‚éƒR[ƒh‚Å‘ª’肵‚Ă݂½B—PenM
640*480*16‚ÅA43.7ms‚Æ43.2ms‚‚ç‚¢B1%’ö“x‚̈Ⴂ‚µ‚©‚È‚¢B
ʼn‚©‚çL2ƒqƒbƒg‚Å‚ ‚ê‚Î>119‚ª”{‹ß‚‘¬‚¢‚Ì‚ÅA‚â‚͂胃‚ƒŠƒlƒbƒNB
ƒXƒgƒA‚ɑ΂µ‚Äprefetchnta‚ðŽg‚¤‚Æ30.8msBŒø‚¢‚Ă܂·iƒ‰ƒCƒgƒXƒ‹[‚ÌP4‚ł͌ø‚©‚È‚¢‚©‚àjB
‚Ä‚¢‚¤‚©ƒvƒŠƒtƒFƒbƒ`‚È‚ñ‚©‚¹‚¸‚ɃXƒgƒA‚ðmovntq‚É‚·‚邯18.1msi‚±‚ê‚ÍP4‚Å‚àOK‚¾‚ÆŽv‚¤jB
’Pƒ‚Ȉ—‚ÌŠ„‚ÉAMMX‚ªŒø‚©‚¸SSEiMMX2j‚ªŒø‚‚Æ‚¢‚¤ƒ„ƒc‚Å‚ ‚Á‚½B
>>119
ŽdŽ–‚ÅŽg‚Á‚Ä‚¢‚é‚Ý‚½‚¢‚¾‚©‚ç–³—‚¾‚Ƃ͎v‚¤‚¯‚ÇA>>100‚̃R[ƒh‚Ìmovq [edi], mm0;‚Ìs‚ð
_asm _emit 0x0f _asm _emit 0xe7 _asm _emit 0x07;//movntq [edi], mm0 ‚̃}ƒVƒ“ŒêƒR[ƒh
‚±‚̂悤‚É‘‚«Š·‚¦‚ê‚Îmovntq‚ªŽg‚¦‚Ü‚·‚ºB
‰´‚̊‹«‚¾‚Æ20.0msB‚½‚Á‚½‚Ps‘‚«Š·‚¦‚½‚¾‚¯‚Å”{ˆÈ㑬‚‚È‚é‚̂͋CŽ‚¿‚¢‚¢ô
>>115
prefetchnta‚ªÅ‘¬‚¾‚Á‚½B
ƒ[ƒh‚È‚µ‚Ìmovnt‚âAƒXƒgƒA‚È‚µ‚Ìprefetchƒ[ƒhA‚Æ‚¢‚¤‚È‚ç‚à‚Á‚Æ‘¬‚¢‚ªA
ƒ[ƒh‚ƃXƒgƒA‚ð—¼—§‚³‚¹‚悤‚Æ‚·‚邯Aprefetchnta‚Æ‚¢‚¤Œ‹˜_‚ɂȂéB
136:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/22 15:29:56
>>134
„MendocinoƒRƒA
‚ß‚ñ‚Ç‚Á‚¿[‚ÌA‚Ɠǂނ̂©H
137:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/22 19:52:50
—ª‚µ‚ă}ƒ“ƒRƒA
138:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/23 20:53:08
>135 “a
@ƒAƒhƒoƒCƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
@ŽÀŒ±‚µ‚Ă݂܂µ‚½‚Æ‚±‚ëA‚¨‚¨‚æ‚»‘¬“x‚ª4”{‚ɃAƒbƒv‚µ‚Ü‚µ‚½B
@‚±‚è‚á‚·‚°‚¦I@‚ÆŽv‚Á‚½‚̂ł·‚ªAã’·‚ɂ͋p‰º‚³‚ê‚Ü‚µ‚½B
w‚¾‚ê‚à‚í‚©‚ç‚Ë‚¥YoIx‚¾‚»‚¤‚ÅB
@‚³‚·‚ª‚ÉMMX2‚܂ňµ‚¨‚¤‚Æ‚·‚邯AVC6‚ł͂â‚è‚Â炢‚Å‚·‚ËB
ã’·‚Ìã‚Ìl‚ÉŒ‹‰Ê‚܂Ƃ߂ăŒƒ|‚µ‚Ă݂ÄAŠÂ‹«XV‚·‚邿‚¤‹ï\‚µ‚Ă݂邱‚Ƃɂµ‚Ü‚·B
@‚¿‚Ȃ݂ÉA‚±‚¿‚ç‚̊‹«‚ňê”Ô‘¬‚©‚Á‚½‚Ì‚ÍA>101“a‚̃AƒhƒoƒCƒX
‚ðŽó‚¯‚½‚à‚Ì(>119•ñ‚Ì‚à‚Ì)‚̉ü‘¢”łłµ‚½B
void test4( void *dst, const void *src, int size )
{@int size2 = size >> 2;
@@if(size2 != 0){@__asm{
@@@@@mov@@@@@@edi,@@dst;
@@@@@mov@@@@@@esi,@@src;
@@@@@mov@@@@@@ecx,@@size2;
@@@loop_mp:
@@@@@movd@@@@ mm0,@@[esi];
@@@@@punpcklbw@@mm0,@@mm0;
@@@@@movq@@@@ mm1,@@mm0;
@@@@@punpcklbw@@mm0,@@mm0;
@@@@@punpckhbw@@mm1,@@mm1;
@@@@@_asm _emit 0x0f _asm _emit 0xe7 _asm _emit 0x07;
@@@@@_asm _emit 0x0f _asm _emit 0xe7 _asm _emit 0x4f _asm _emit 0x08;
@@@@@add@@@@@@esi,@@4;
@@@@@add@@@@@@edi,@@16;
@@@@@sub@@@@@@ecx,@@1;
@@@@@jnz@@@@@@ loop_mp;
@@@@@emms;
@}}
}
139:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/23 21:14:55
MMX2‚Á‚ĉ½HSSE‚Å“ü‚ê‚ç‚ꂽ®”‰‰ŽZH
140:EÍEj‚Á-›œ- ŸPu/ODYSSEY
06/02/23 21:38:09
‚à‚Æ‚à‚Æ‚ÍSSE‚Ì‹Œ‚¢‰¼Ì‚¾‚Á‚½‹C‚ªB
¡‚͂ւé‚ÝŽ‚ ‚½‚肪‰‘ãAthlon‚ŃTƒ|[ƒg‚³‚ꂽEnhanced 3DNOW!‚Æ‚Å
‹¤’ʂŎg‚¦‚éŠg’£–½—ßi—v‚·‚é‚ÉSSE‚ÌMMX®”‰‰ŽZŠg’£j‚ð‘Ì‚µ‚Ä
‚»‚¤Œ¾‚Á‚Ă邿‚¤‚ÈB
ˆÄŠOŒßŒã‚Èl‘‚«ž‚ñ‚ł邩‚à‚µ‚ê‚ñ‚ËB
141:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/23 22:22:04
•‚“®¬”“_Œ`Ž®‚É‚·‚ê‚΃oƒ^ƒtƒ‰ƒC‰‰ŽZ‚͉”\‚ɂȂ邪A‚»‚Ì‚©‚í‚è
ˆê“x‚ɉ‰ŽZ‚Å‚«‚éƒf[ƒ^‚͂Ȃ‚È‚éB
16bit®”‚Ńoƒ^ƒtƒ‰ƒC‰‰ŽZ‚·‚ê‚Γ¯Žž‚Ɉ—‚Å‚«‚éƒf[ƒ^‚Í8“_‚É‘‚¦‚邪A
“¯‚¶ƒŒƒWƒXƒ^“à‚É0ˆÈã1–¢–ž‚Ì®”’l(ƒVƒtƒgˆ—‚µ‚½‚à‚Ì)‚Æ1ˆÈã‚Ì
®”’l‚ª¬Ý‚·‚éꇂÍAƒoƒ^ƒtƒ‰ƒC‰‰ŽZ‚Å“¯Žž‚ɉ‰ŽZ‚Å‚«‚È‚¢B
ŠY“–‚·‚éƒf[ƒ^‚Í‚¢‚Á‚½‚ñ•ʂ̃ŒƒWƒXƒ^‚ň—‚µ‚È‚¯‚ê‚ά‚ç‚È‚¢‚½‚ß
ƒXƒeƒbƒv”‚ª‘‚¦‚éB
¸“x‚ð•Û‚Á‚Ĉ—‚µ‚½‚¢‚È‚ç’P¸“x¬”“_‚Ȃǂň—‚·‚邪AƒŠƒAƒ‹ƒ^ƒCƒ€
«”\‚ð’Ç‹‚·‚é‚Ȃ箔‚ň—‚·‚邵‚©‚È‚¢‚©‚ÈA‚ÆB
‚Ü‚ŸA‚Ç‚¤‚¹ƒCƒ“ƒeƒ‹‚Í–{“–‚ɕ֗˜‚È–½—߂͗pˆÓ‚µ‚È‚¢•ûj‚̂悤‚Ȃ̂ÅB
142:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/23 22:53:27
ƒ\ƒtƒgƒEƒFƒAƒpƒCƒvƒ‰ƒCƒjƒ“ƒO‚Æ‚©
Žè‚Å‚â‚Á‚Ä‚éHƒRƒ“ƒpƒCƒ‰‚Ü‚©‚¹H
x64‚¾‚ƃŒƒWƒXƒ^”‚àˆá‚¤‚µA‚»‚à‚»‚à
CPU‚²‚ƂɃŒƒCƒeƒ“ƒV“™•Ï‚í‚Á‚Ä–Ê“|‚¾‚æ‚ËH
143:EÍEj‚Á-›œ- ŸPu/ODYSSEY
06/02/23 23:01:45
AthlonŒn‚̓ŒƒCƒeƒ“ƒV‚ª’·‚¢‚©‚çL/S•p“xã‚°‚Ăłà•À—ñ‰»`
PenM‚Í‘S”ʂɃŒƒCƒeƒ“ƒV’Z‚¢‚©‚ç’öX‚ŃˆƒV
NetBurst‚̓pƒCƒvƒ‰ƒCƒ“‚Ì’·‚³‚Ì•ªOoO‚ª‹—Í‚¾‚©‚ç‚ ‚ñ‚܂艽‚àl‚¦‚È‚¢‚Ù‚¤‚ª
‚©‚¦‚Á‚Ä—Ç‚©‚Á‚½‚è‚·‚é‚©‚àB
‚Æ‚¢‚¤•—‚É”cˆ¬‚µ‚Ä‚¢‚é
144:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/24 08:45:35
>>142
JIT•t‚«‚ÌŽÀsŠÂ‹«‚ª—~‚µ‚‚È‚é‚È‚
145:EÍEj‚Á-›œ- ŸPu/ODYSSEY
06/02/24 21:27:24
‚Á[ƒhƒgƒj[ƒg]
146:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/26 19:46:12
‚ñAMMX2‚Á‚ÄAMD‚ª‚‚¯‚½3D-Now!‚Ì‘O‚Ì–¼Ì‚¾‚Á‚½‚̂łÍH
MMX‚ð‹@”\Šg’£‚µ‚½CPU‚ðAMD‚ªo‚µ‚½‚Æ‚«AƒCƒ“ƒeƒ‹‚ªuMMX‚Í‚¤‚¿‚Ì“o˜^¤•W
‚¾‚©‚çŽg‚¤‚Èv‚ÆAMD‚ð‘i‚¦AAMD‚Íuƒ}ƒ‹ƒ`ƒƒfƒBƒAƒGƒNƒXƒeƒ“ƒVƒ‡ƒ“‚È‚ñ‚Ä
•½–}‚È–¼Ì‚¾v‚Æ”½”‚µ‚Ä‚¢‚½‚悤‚ÈB
ˆá‚Á‚½‚ç½Ï¿
147:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/27 06:55:48
Šm‚©‚ɸ¿•½–}‚¾‚æ‚È
148:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/27 14:28:57
‰´‚ÍMMX2‚Á‚ÄSSE‚Ì’†‚ÅMMXƒŒƒWƒXƒ^‚ðŽg‚¤‚à‚Ì‚ðIntel‚ªŒÄ‚ñ‚Å‚¢‚½‚ñ‚¾‚Æ
Žv‚Á‚Ä‚¢‚½‚ªA‰½‚©ˆá‚¤‚Ý‚½‚¢‚ËB‚®‚®‚Á‚Ä‚à‚È‚¢‚µB
149:EÍEj‚Á-›œ- ŸPu/ODYSSEY
06/02/27 21:14:27
>>146
ŒÃ‚¢ƒ\[ƒX‚ð‹™‚Á‚Ă݂é‚ÉAMMX2‚ÍSSE‚ª‚Ü‚¾¢‚Éo‚é‘O‚̉¼ÌB
SSEŽ©‘Ì‚àKatmai‚ªoŽn‚ß‚½ ‚ÍiSSEiƒCƒ“ƒ^[ƒlƒbƒgƒXƒgƒŠ[ƒ~ƒ“ƒOSIMDŠg’£j‚Æ
ŒÄ‚ñ‚Å‚½‚èB
AMD‚»‚Ì‘¼CPUƒ[ƒJ[‚ªMMX‚ðŽg‚¤‚±‚ÆŽ©‘Ì‚ÉIntel‚ª’ñ‘i‚µ‚½‚̂łÍB
Intel‘¤‚ÌŽå’£‚ÍŠü‹p‚Řa‰ð‚µ‚½‚Í‚¸B
150:EÍEj‚Á-›œ- ŸPu/ODYSSEY
06/02/27 22:06:26
‚·‚ñ‚Ü‚»‚ñA‹ZpŽ©‘̂ł͂Ȃ–¼Ì‚Å‚·‚ËB
ƒTƒ|[ƒg‚³‚ꂽŠg’£–½—߃Zƒbƒg‚ª“¯ˆê‚Å‚ ‚Á‚Ä‚àA‚ ‚‚܂ŃJƒ^ƒƒOã‚Í
Enhanced 3DNOW!A3DNOW! Professional‚ȂǂÆÌ‚µASSEASSE2‚Æ‚¢‚¤¤•W–¼‚Í
Žg‚Á‚Ă܂¹‚ñ‚ÈB
151:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/02/27 22:25:55
3DNow!‚ÍSSE+ƒ¿‚È‚ñ‚¾‚©‚çSSE‚Æ–¼æ‚é‚͕̂ς¶‚á‚È‚¢‚©
152:EÍEj‚Á-›œ- ŸPu/ODYSSEY
06/02/27 22:34:40
‚Ü‚Ÿ‚»‚¤‚È‚ñ‚¾‚¯‚ÇEnhanced¨Professional‚ÍIntel‚ªæs‚µ‚Äs‚Á‚½XMMƒŒƒWƒXƒ^Žü‚è‚Ì
Šg’£–½—߂̃Tƒ|[ƒg‚ÅAAMD“ÆŽ©‚ÌŠg’£–½—߂̒ljÁ‚Í–³‚¢
‚â‚Á‚ς褕WŒ ‚̃gƒ‰ƒuƒ‹‰ñ”ð‚ׂ̈łµ‚傤‚È
153:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/04/25 20:19:34
MMX‚É–½—ß‚ª’ljÁ‚³‚ꂽ‚Æ‚«‚Ƀ†[ƒU[‚ª‘‚ÉMMX2‚Ɠǂñ‚¾‚¾‚¯‚È‚ñ‚¶‚á‚È‚©‚Á‚½kkŽè
154:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/04/25 23:21:44
0x8E574343‚Ý‚½‚¢‚ÈHex‚̃f[ƒ^‚ª‰„X‚Æ‘±‚¢‚½ƒf[ƒ^‚Ì
’†‚©‚çA“Á’è‚Ìhex—ñ‚ðŒ©‚Â‚¯‚½‚¢‚ÆŽv‚Á‚½‚çƒAƒ‹ƒSƒŠƒYƒ€‚Í
•Ê‚Ì—Ìˆæ‚Æ‚µ‚Ä‚‘¬‰»‚·‚é‚Ì‚ÉSSE‚Æ‚©‚ÍŽg‚¦‚»‚¤H
‚à‚µŽg‚¦‚»‚¤‚¾‚Á‚½‚çŠÈ’P‚ȃTƒ“ƒvƒ‹Ž¦‚µ‚Ä‚¢‚½‚¾‚¯‚È‚¢‚Å‚µ‚傤‚©
155:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/04/25 23:27:01
ƒLƒƒƒbƒVƒ…‚É”[‚Ü‚éƒTƒCƒY‚̃f[ƒ^‚Ì’†‚ð‰½“x‚àŒŸõ‚·‚é‚ñ‚¶‚á‚È‚¯‚ê‚Î
•’Ê‚ÉC‚Å‘‚¢‚Ä‚àMMXŽg‚Á‚Ä‚à‘å·‚È‚¢‚悤‚È‹C‚ª‚·‚éB
‹‘åƒf[ƒ^iand ŒÃ‚¢CPUj‚È‚ç‚Þ‚µ‚ë prefetch ‚Ì—L–³‚ŕςí‚Á‚Ä‚‚éB
156:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/04/25 23:32:10
‚¦[‚ÆCPU‚ÍOpteron850‚Æ‚©Xeon 3.6Ghz“–‚½‚è‚ð64ƒRƒA‚©‚ç512ƒRƒA‚®‚ç‚¢‚ð
‘z’肵‚Ä‚¢‚Ü‚·Bƒf[ƒ^‚Í1ƒf[ƒ^‚ ‚½‚è1000ƒoƒCƒg’ö“x‚»‚ꂪ•bŠÔ900MB/sec
“]‘—‚³‚ê‚Ä‚«‚Ü‚·‚»‚ê‚ðƒŠƒAƒ‹À²Ñ‚ň—‚µ‚È‚¢‚Æ‚¢‚¯‚Ü‚¹‚ñB‚»‚¤‚·‚邯C‚Å
‘‚¢‚Ä‚à‘å·‚È‚¢‚Å‚·‚©B
157:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/04/26 13:15:35
>154
‚»‚Ì’ö“x‚̃Tƒ“ƒvƒ‹‚à‘‚¯‚È‚¢ƒŒƒxƒ‹‚È‚ç’ú‚ß‚ëB
Œ‹‹Çƒƒ“ƒeƒiƒ“ƒXo—ˆ‚¸‚ɉñ‚è‚É–À˜f‚©‚¯‚邾‚¯‚¾B
>156‚Ý‚½‚¢‚È—p“r‚Ȃ炨‚ƂȂµ‚C‚Å‘‚¢‚Æ‚¯B
158:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/04/26 19:48:30
900MB/s‚̃lƒbƒgƒ[ƒN‚ª‚È‚ñ‚Ȃ̂©‹C‚ɂȂé
159:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/04/28 00:41:23
SSE‚̓ŒƒWƒXƒ^‚ªL‚¢‚¯‚ÇA
”Ä—pƒŒƒWƒXƒ^‚Åʼn‚Ì4byteˆê’v‚µ‚½‚瑱‚«‚𒲂ׂé‚Á‚Ä‚·‚ê‚ÎŽÀŽ¿•Ï‚í‚ç‚ñ‚µ‚È‚ B
u“Á’è‚Ìhex—ñv‚Ì“oê•p“x‚ª‚‚¢‚È‚ç•Ê‚¾‚¯‚ÇB
‚ A‚Å‚à‚±‚ê‚àSSE‚Å•À—ñ‚É‚â‚ê‚΂¢‚¢‚ñ‚¾Bhex‚Í1/2ƒoƒCƒg‚Ȃ̂àl‚¦‚ÄB
u“Á’è‚Ìhex—ñv‚̃oƒCƒg”‚ÍH
2ƒoƒCƒg’PˆÊ‚‚ç‚¢‚Å”äŠr‚µ‚ÄA4bitƒVƒtƒg‚µ‚Ă܂½”äŠrB
ˆê’v‚·‚é‚à‚Ì‚ª‚ ‚Á‚½‚ç‚»‚±‚ð•’ʂɒ²‚ׂéB
‚±‚ê‚Ȃ甔{”äŠrƒRƒXƒg‚ªŒ¸‚é‚ñ‚¶‚á‚È‚¢‚©B
”‚Ü‚ Aƒƒ‚ƒŠ‘шæƒlƒbƒN‚©‚ç‚‘¬‰»‚Í‚µ‚È‚¢‚ÆŽv‚¤‚æB
‚ ‚Ƃ̓LƒƒƒbƒVƒ…ƒ‰ƒCƒ“‚ð‚Ü‚½‚®‚Æ‚«‚É‹C‚ð‚‚¯‚邱‚ÆB‚±‚±‚à‚¤‚Ü‚‚â‚ê‚ÎSSE‚ª—LŒø‚©H
‚Ä‚¢‚¤‚©C‚Å‘‚¢‚Ä‘¬“x‚ª‘«‚è‚È‚¢‚©‚ç>>154‚ÅŽ¿–₵‚½‚ñ‚¶‚á‚È‚¢‚æ‚ËH
•’Ê‚ÉC‚Å\•ª‚È‘¬“x‚¾‚ÆŽv‚¤‚æB
160:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/04/28 02:39:57
ƒXƒyƒbƒNŒ©‚éŒÀ‚茋\‚È‹K–͂̃vƒƒWƒFƒNƒg‚¾‚µA
‚»‚ñ‚ȃvƒƒWƒFƒNƒg‚Ŕėp«‚ª–³‚ƒƒ“ƒeƒiƒ“ƒX«‚̈«‚¢ƒAƒZƒ“ƒuƒ‰‚ðŽg‚¨‚¤‚Á‚Ă̂ªŠÔˆá‚Á‚Ä‚éB
‚µ‚©‚à’mޝ‚à–³‚¢‚Æ‚«‚½‚çŽü‚è‚É–À˜f‚©‚¯‚é‚ÉŒˆ‚Ü‚Á‚Ä‚éB
‚â@‚ß@‚Æ@‚¯B
161:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/04/28 02:47:22
ÌŽ—‚½‚悤‚È‚±‚Æ‚â‚Á‚½‚¯‚ê‚Ç‚ ‚ñ‚Ü‚èˆÓ–¡‚ª–³‚©‚Á‚½‹L‰¯‚ª‚ ‚éB
162:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/04/28 06:53:08
‚¢‚Ü‚âSSE‚àAltivec‚àC‚Å‘‚Žž‘ã
163:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/04/28 07:43:02
‚Ý‚ñ‚ÈŒ¾‚Á‚Ă邱‚Ƃͳ‚µ‚¢‚ÆŽv‚¤‚¯‚ÇA
‚±‚̃XƒŒ“I‚ɂ̓AƒZƒ“ƒuƒ‰‚ÅSIMD‚ðŽg‚¢–³‘Ê‚ÈÅ“K‰»‚ð‚·‚é‚ׂ«‚¶‚á‚È‚¢‚©H
164:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/04/28 10:14:38
„–³‘Ê‚ÈÅ“K‰»
‚—‚—‚—
‚È‚ñ‚©‚í‚©‚é‚—
165:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/05/01 01:01:51
154ƒ^ƒ“‚Í‚¢‚È‚‚È‚Á‚Ä‚µ‚Ü‚Á‚½‚©BB
166:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/05/02 01:27:50
‚¢‚â‚¢‚邵•׋‚µ‚Ä‚é‚ñ‚¾‚¯‚ÇA‚¢‚Ü‚¢‚¿‚æ‚‚í‚©‚ç‚È‚¢
‚à‚¤‚µCs‚µ‚Ä‚«‚Ü‚·
167:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/05/02 19:01:46
>>166
‚¢‚½‚©B‚¢‚Â‚Å‚à‚¢‚¢‚Ì‚ÅCs‚µ‚½‚ç•ñƒˆƒB
168:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/05/03 10:49:45
‚Æ‚è‚ ‚¦‚¸Agas‚Ænasm‚Ç‚Á‚¿‚ŃCƒ“ƒ‰ƒCƒ“‚·‚ê‚΂¢‚¢‚ñ‚¾‚낤
gcc‚¾‚ƈê‘ð‚Ȃ̂©‚ÈH
169:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/05/03 20:55:17
SIMD‚ÌŽ‘—¿‚Á‚Ă݂Ȃ³‚ñ‚͂ǂ±‚©‚çŽæ“¾‚µ‚Ä‚é‚̂łµ‚傤‚©H
170:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/05/03 21:29:21
URLØÝ¸(www.intel.co.jp)
171:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/05/05 19:42:06
‚Ä‚¢‚¤‚©ŒŸõƒAƒ‹ƒSƒŠƒYƒ€‚Á‚Ăǂ¤Å“K‰»‚µ‚Ä‚à
Œ‹‹Çƒƒ‚ƒŠ‘шæ‚Å“ª‘Å‚¿‚ɂȂé‚Á‚µ‚å
172:EÍEj‚Á-›œ ŸtoBASh....
06/05/05 19:52:44
‚±‚±‚ð”MS‚ɓǂñ‚Å‚½‚±‚Æ‚ªAŽ„‚É‚à‚ ‚è‚Ü‚µ‚½B
URLØÝ¸(developer.apple.com)
173:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/05/05 21:00:21
–Ù‚êƒLƒ`ƒKƒC
174:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/05/19 01:02:05
‘g‚Ýž‚ÝŠÖ”‚ð—˜—p‚µ‚ÄSSEƒvƒƒOƒ‰ƒ~ƒ“ƒO•׋‚µ‚悤‚ÆŠæ’£‚Á‚Ă݂½‚̂ł·‚ª
ˆÈ‰º‚̂悤‚ȃNƒ‰ƒX‚ð—pˆÓ‚µ‚ÄAˆê“x‚É16ƒoƒCƒg‚¸‚ÂucharŒ^‚̃f[ƒ^‚ð”»•Ê‚µ‚悤‚Æ
‚µ‚Ü‚µ‚½‚ªA‚±‚ÌcharŒ^‚̃f[ƒ^‚ðSSE‚ÅŒvŽZ‚·‚é‚ɂ͂ǂ¤‚µ‚½‚ç‚¢‚¢‚̂łµ‚傤‚©
class CHARVector {
union {
__m128 vec;
struct {
unsigned char c1, c2, c3, c4;
unsigned char c5, c6, c7, c8;
unsigned char c9, c10, c11, c12;
unsigned char c13, c14, c15, c16;
};
};
// ...
};
175:EÍEj‚Á-›œ ŸtoBASh....
06/05/19 01:26:16
>>174
__m128‚¶‚á‚È‚‚Ä__m128iŽg‚¢‚È‚æB‚½‚¾‚µSSE‚¶‚á‚È‚‚ÄSSEu2v‚ËB
SSE‚܂łȂç’P¸“x•‚“®¬”~‚S‚܂łµ‚©ƒTƒ|[ƒg‚³‚ê‚È‚¢B
C++ƒ‰ƒbƒp[‚P‚©‚çì‚é‚‚ç‚¢‚È‚çʼn‚©‚ç—pˆÓ‚µ‚Ä‚ ‚镨Žg‚Á‚½‚Ù‚¤‚ª‚¢‚¢B
#include <dvec.h>
VC++‚©ICC‚Ȃ炱‚ê‚Å Iu8Vec16 ‚Á‚Ä‚¢‚¤ƒNƒ‰ƒX‚ªŽg‚¦‚é‚Í‚¸
176:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/05/19 01:32:07
‚·‚¢‚Ü‚¹‚ñŠÂ‹«‘‚‚Ì–Y‚ꂽ‚̂ł·‚ªA
RedhatEL4 gcc‚Å쬂µ‚Ä‚¢‚Ü‚·B‚‡‚ƒ‚ƒ‚¾‚Ædvec.h‚ªŽg‚¦‚È‚¢‚Æ
•·‚¢‚Ä”Y‚ñ‚Å‚¢‚Ü‚µ‚½B
177:EÍEj‚Á-›œ ŸtoBASh....
06/05/19 01:45:07
Šm‚©‚ÉŽg‚¦‚È‚¢B
‚¶‚á‚ ‚±‚Á‚¿
#include <emmintrin.h>
__m128i‹¤—p‘̃ƒ“ƒo‚É m128i_u8[16] ‚Á‚Ă̂ª‚ ‚éB
‚ ‚Æ‚Í
URLØÝ¸(msdn2.microsoft.com)
‚Æ‚©‚ðŽQl‚ÉB
pcmpŒnŠÖ”‚Ń}ƒXƒN‚µ‚Äpmovmskb‚ÅŠeãˆÊƒrƒbƒg‚ð”Ä—pƒŒƒWƒXƒ^‚É“]‘—‚µ‚ÄÄ“x”äŠr‚·‚é‚Ì‚ª
ƒXƒ}[ƒg‚©‚ÈB
178:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/05/19 02:12:04
>>177
‚¤[‚ñƒTƒ“ƒvƒ‹ƒR[ƒh‚Á‚Ä‚ ‚é‚̂łµ‚傤‚©H
179:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/06/13 01:35:19
‚·‚݂܂¹‚ñAANDPD‚ÆANDPS‚Á‚ĉ½‚©ˆá‚¢‚ª‚ ‚é‚ñ‚Å‚µ‚傤‚©H
‚Ç‚Á‚¿‚àxmmƒŒƒWƒXƒ^“¯Žm‚Ìand‚ðŽæ‚é‚¾‚¯‚̂悤‚Ècc
180:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/06/13 02:35:31
ƒ}ƒVƒ“ŒêƒR[ƒh‚ªˆá‚¤B–½—ß’·‚Í“¯‚¶B
“®ì‚à“¯‚¶‚¾‚ÆŽv‚¤B
ƒj[ƒ‚ƒjƒbƒN‚ª2‚‚ ‚é‚̂͂¢‚¢‚Æ‚µ‚ÄA
‚È‚ºƒ}ƒVƒ“ŒêƒR[ƒh‚àˆá‚¤‚Ì‚©“ä‚Å‚·‚ÈB
181:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/06/13 02:52:35
ANDPS‚ÍASSE‚܂ŃJƒo[‚µ‚Ä‚¢‚ê‚ÎŽg‚¦‚éB
Œš‘OãAƒpƒbƒNƒh’P¸“xŽÀ”‚ª‘€ì‘ÎÛB
ANDPD‚ÍASSE2‚ðƒJƒo[‚µ‚Ä‚¢‚È‚¢‚ÆŽg‚¦‚È‚¢B
Œš‘OãAƒpƒbƒNƒh”{¸“xŽÀ”‚ª‘€ì‘ÎÛB
182:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/05 10:18:10
‹@ŠBŒê‚Í•~‹‚ª‚‚·‚¬‚ÄŽè‚ðo‚¹‚È‚¢‚Ì‚ÅACŒ¾Œê‚¾‚¯‚Å3DNOW!‚âSSE‘Ήž‚Ì
ƒvƒƒOƒ‰ƒ€‚Íì‚ê‚È‚¢‚à‚̂łµ‚傤‚©B
183:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/05 10:35:41
MMX‚âSSE–½—ß‚ðƒ‰ƒbƒsƒ“ƒO‚µ‚½‘g‚Ýž‚ÝŠÖ”‚ª—pˆÓ‚³‚ê‚Ä‚¢‚éŠJ”ŠÂ‹«‚ª‚ ‚邿
184:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/05 12:47:46
‚È‚ñ‚Å‚à‚»‚¤‚¾‚¯‚ÇA’m‚ç‚È‚¢‚ÆH‚킸Œ™‚¢‚œ‚»‚¤‚ÉŽv‚¤‚¯‚Ç
‚â‚Á‚Ä‚Ý‚é‚Æ‚»‚¤‚Å‚à‚È‚¢‚à‚ñ‚¾‚æB
185:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/05 13:03:54
>>183
‚‚©Ax64‚âILŒü‚¯‚¾‚ƃCƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰–³Œø‚¾‚©‚ç‚»‚êŽg‚¤‚µ‚©‚È‚¢
186:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/05 13:08:38
ŽÀÛ–â‘èmmintrinŒn‘gž‚ÝŠÖ”‚Í\‘¢‰»ÝŒv‚ª‚Å‚«‚邵A–½—߃XƒPƒWƒ…[ƒŠƒ“ƒO‚ÌÅ“K‰»‚à‘jŠQ‚µ‚È‚¢‚©‚ç
Œ‹\•Ö—˜‚È‚ñ‚¾‚æ‚È
187:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/05 14:00:17
–½—߃XƒPƒWƒ…[ƒŠƒ“ƒO‚Á‚Ä‚¢‚¤‚©AVC++ ‚Ìê‡inline Žg‚¤‚Æ
‘OŒã‚Å‚àÅ“K‰»‚ªˆêØs‚í‚ê‚È‚¢‚æ‚ËB
188:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/05 18:17:51
>>187
‚³‚ê‚éB
‚Ü‚³‚©‚Ƃ͎v‚¤‚ªƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“ƒ~ƒX‚Á‚½‚èA
ƒfƒoƒbƒOƒ‚[ƒh‚ÅŠm”F‚È‚ñ‚©‚µ‚ĂȂ¢‚æ‚ÈH
189:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/05 19:45:11
ƒzƒ“ƒgƒ_EEE’N‚©‚Ééx‚³‚ê‚Ä‚¢‚½II
ŠÈ’P‚ÉŠm”F‚Å‚«‚é‚̂Ɋm”F‚µ‚È‚¢˜R‚ê‚Á‚ÄEEEorz
190:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/06 11:38:10
Å“K‰»‚³‚ê‚È‚¢‚̂̓Cƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰i__asmƒXƒe[ƒgƒƒ“ƒgj‚Ì‘OŒã‚â’†gB
inline‚Æ‚©__inlineƒL[ƒ[ƒh‚͂ނµ‚ëƒOƒ[ƒoƒ‹‚ÈÅ“K‰»i‚‘¬‰»j‚Ì‚½‚߂̂à‚Ì
191:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/06 15:49:58
>>190
˜R‚ê‚à‚»‚¤Žv‚Á‚Ä‚¾‚ñ‚¾‚¯‚ÇAVisual Studio 2005 ‚Ì C++ ‚ÅŽÀŒ±‚µ‚Ä‚Ý‚é‚Æ
“¯‚¶ŠÖ”“à‚Ì __asm Œã‚̃R[ƒh‚à‚«‚Á‚¿‚èÅ“K‰»‚³‚ê‚Ä‚é‚킯‚Å‚·‚悱‚ꂪEEE
char a[100]; for (int i = 0; i < 100; i++) a[i] = i; int sum = 0; for (int i = 0; i < 100; i++) sum += a[i];
‚ÅA‘S‚ÄC++‚Å‘‚¢‚Ä‚àʼn‚̉Šú‰»‚̃gƒR‚ð __asm ‚Å‘‚¢‚Ä‚àAŒãŽÒ‚̉ÁŽZ‚̃‹[ƒv‚Í
5‚‚¸‚‰ÁŽZ‚·‚é20‰ñ‚̃‹[ƒv‚É“WŠJ‚³‚ê‚Ü‚·‚½B
192:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/06 17:24:38
ƒCƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰‚Ì•”•ª‚܂şŽè‚ÉÅ“K‰»‚³‚ꂽ‚ç_”F’è‚È‚ñ‚¾‚ªB
193:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/06 17:47:13
ƒCƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰‚Ì•”•ª‚ðŸŽè‚ÉÅ“K‰»‚µ‚₪‚Á‚½‚çƒLƒŒ‚邾‚ë•’ÊB
ƒAƒZƒ“ƒuƒ‰‚Å‹Lq‚µ‚È‚«‚á‚¢‚¯‚È‚¢•”•ª‚͉½‚ç‚©‚Ì——R‚ª‚ ‚Á‚Ä
‚í‚´‚í‚´‚»‚¤‚¢‚¤ƒR[ƒh‚É‚µ‚Ä‚é‚à‚Ì‚à‚ ‚é‚Ì‚ÉA
‚»‚ê‚ð•ʂ̖½—߂ɒu‚«Š·‚¦‚ç‚ꂽ‚çƒuƒ`ƒMƒŒ‚Å‚·‚æB
194:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/06 19:04:49
>>191
ŠÖ”‚Ì‘O”¼‚ƌ㔼‚ð__asm{nop}‚łԂÁ‚½Ø‚Á‚½‚çÅ“K‚©‚à‚Ô‚Á‚½Ø‚ç‚ꂽ‚æB
195:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/07 11:33:32
uÅ“K‰»‚à‚Ô‚Á‚½Ø‚ç‚ꂽv‚Á‚Ă̂͂ǂ¤‚¢‚¤ˆÓ–¡‚Å‚·‚©H
Œã”¼‚ª‘f’¼‚È100‰ñƒ‹[ƒv‚ɂȂÁ‚¿‚á‚Á‚½‚Á‚Ä‚±‚ÆH
196:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/07 11:38:45
>>194
ƒRƒ“ƒpƒCƒ‰‚É‚æ‚Á‚ÄŒ‹‰Ê‚͈قȂÁ‚Ä‚ ‚½‚è‚Ü‚¦‚¾‚ëB
˜R‚ê‚̂Ƃ±‚Ì VC++ 2005 ‚Å‚Í __asm{ nop}; “ü‚ê‚Ä‚ànpad 1 ‚ªŠÔ‚É“ü‚邾‚¯‚Å
‘S‚•Ï‚ç‚È‚¢ƒR[ƒh‚ª¶¬‚³‚ꂽB
197:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
06/07/07 12:03:47
>>195
__asm‚ð‚Ü‚½‚¢‚¾Å“K‰»‚Í‚µ‚È‚¢A‚Æ‚¢‚¤‚±‚Æ‚©‚ÈH
198:196
06/07/07 13:16:40
>>197
‚»‚¤‚¢‚¤‚±‚Æ‚¶‚á‚È‚¢‚ñ‚¶‚á‚È‚¢‚©H˜R‚ê‚̃gƒR‚ł͑Oq‚Ì’Ê‚è npad 1 ‚Ì—L–³‚¾‚¯B
‚»‚à‚»‚à__asm “ü‚ê‚È‚‚Ä‚àu‚Ü‚½‚¢‚¾Å“K‰»v‚Ý‚½‚¢‚È‚à‚͖̂³‚©‚Á‚½‚µB
’P‚É >>194 ‚ÌŽg‚Á‚Ä‚éƒRƒ“ƒpƒCƒ‰‚ª__asm “ü‚ê‚邯œK‰»‚µ‚È‚‚Ȃ鋌‚¢VC‚Æ‚©
‚È‚ñ‚¶‚á‚Ü‚é‚Ü‚¢‚©H
ŽŸƒy[ƒWÅVƒŒƒX•\ަƒXƒŒƒbƒh‚ÌŒŸõ—ÞŽ—ƒXƒŒˆê——˜b‘è‚̃jƒ…[ƒX‚¨‚Ü‚©‚¹ƒŠƒXƒg¥ƒIƒvƒVƒ‡ƒ“‚ð•\ަ‰É‚‚Ԃµ2ch
5201“ú‘O‚ÉXV/141 KB
’S“–:undef