青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

歲月流轉(zhuǎn),往昔空明

C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
  118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks

沒啥好說(shuō)的,有圖有真相。上個(gè)逐像素光照的圖。

 

基本上編譯器的架構(gòu)已經(jīng)確定了,好多功能亟待實(shí)現(xiàn)。

尋合作者。

 

XY][6}U9SVQ_5RTWG8(6}18

 

編譯器生成的LLVM未優(yōu)化代碼。

define void @"Mvs_main@@QSVSIn@@"(%.s.stri* %.arg.stri, %.s.bufi* %.arg.bufi, %.s.stro* %.arg.stro, %.s.bufo* %.arg.bufo) {
.init.vargs:
  %in = alloca %VSIn, align 16
  %0 = load %.s.stri* %.arg.stri, align 4
  %1 = extractvalue %.s.stri %0, 0
  %2 = load <4 x float>* %1, align 4
  %3 = getelementptr %VSIn* %in, i32 0, i32 0
  store <4 x float> %2, <4 x float>* %3, align 4
  %4 = load %.s.stri* %.arg.stri, align 4
  %5 = extractvalue %.s.stri %4, 1
  %6 = load <4 x float>* %5, align 4
  %7 = getelementptr %VSIn* %in, i32 0, i32 1
  store <4 x float> %6, <4 x float>* %7, align 4
  br label %.entry

.entry:                                           ; preds = %.init.vargs
  br label %.body

.body:                                            ; preds = %.entry
  %out = alloca %.s.bufo, align 16
  %in1 = load %VSIn* %in, align 4
  %8 = extractvalue %VSIn %in1, 1
  %9 = getelementptr %.s.bufo* %out, i32 0, i32 1
  store <4 x float> %8, <4 x float>* %9, align 4
  %in2 = load %VSIn* %in, align 4
  %10 = extractvalue %VSIn %in2, 0
  %11 = load %.s.bufi* %.arg.bufi, align 4
  %12 = extractvalue %.s.bufi %11, 0
  %13 = call <4 x float> @"Mmul@@QV4F@@QM44F@@"(<4 x float> %10, [4 x <4 x float>] %12)
  %14 = getelementptr %.s.bufo* %out, i32 0, i32 0
  store <4 x float> %13, <4 x float>* %14, align 4
  %15 = load %.s.bufi* %.arg.bufi, align 4
  %16 = extractvalue %.s.bufi %15, 1
  %in3 = load %VSIn* %in, align 4
  %17 = extractvalue %VSIn %in3, 0
  %18 = fsub <4 x float> %16, %17
  %19 = getelementptr %.s.bufo* %out, i32 0, i32 2
  store <4 x float> %18, <4 x float>* %19, align 4
  %20 = load %.s.bufi* %.arg.bufi, align 4
  %21 = extractvalue %.s.bufi %20, 2
  %in4 = load %VSIn* %in, align 4
  %22 = extractvalue %VSIn %in4, 0
  %23 = fsub <4 x float> %21, %22
  %24 = getelementptr %.s.bufo* %out, i32 0, i32 3
  store <4 x float> %23, <4 x float>* %24, align 4
  %25 = load %.s.bufi* %.arg.bufi, align 4
  %26 = extractvalue %.s.bufi %25, 3
  %in5 = load %VSIn* %in, align 4
  %27 = extractvalue %VSIn %in5, 0
  %28 = fsub <4 x float> %26, %27
  %29 = getelementptr %.s.bufo* %out, i32 0, i32 4
  store <4 x float> %28, <4 x float>* %29, align 4
  %out6 = load %.s.bufo* %out, align 4
  %30 = extractvalue %.s.bufo %out6, 0
  %31 = getelementptr %.s.bufo* %.arg.bufo, i32 0, i32 0
  store <4 x float> %30, <4 x float>* %31, align 4
  %out7 = load %.s.bufo* %out, align 4
  %32 = extractvalue %.s.bufo %out7, 1
  %33 = getelementptr %.s.bufo* %.arg.bufo, i32 0, i32 1
  store <4 x float> %32, <4 x float>* %33, align 4
  %out8 = load %.s.bufo* %out, align 4
  %34 = extractvalue %.s.bufo %out8, 2
  %35 = getelementptr %.s.bufo* %.arg.bufo, i32 0, i32 2
  store <4 x float> %34, <4 x float>* %35, align 4
  %out9 = load %.s.bufo* %out, align 4
  %36 = extractvalue %.s.bufo %out9, 3
  %37 = getelementptr %.s.bufo* %.arg.bufo, i32 0, i32 3
  store <4 x float> %36, <4 x float>* %37, align 4
  %out10 = load %.s.bufo* %out, align 4
  %38 = extractvalue %.s.bufo %out10, 4
  %39 = getelementptr %.s.bufo* %.arg.bufo, i32 0, i32 4
  store <4 x float> %38, <4 x float>* %39, align 4
  ret void
                                                  ; No predecessors!
  ret void
}
JITed Code(x64):
0000000000250010  push        rbp  
0000000000250011  mov         rbp,rsp  
0000000000250014  push        rsi  
0000000000250015  push        rdi  
0000000000250016  push        rbx  
0000000000250017  sub         rsp,78h  
000000000025001B  mov         rax,qword ptr [rcx]  
000000000025001E  movups      xmm0,xmmword ptr [rax]  
0000000000250021  movaps      xmmword ptr [rbp-40h],xmm0  
0000000000250025  mov         rax,qword ptr [rcx+8]  
0000000000250029  movups      xmm0,xmmword ptr [rax]  
000000000025002C  mov         rsi,r9  
000000000025002F  mov         rdi,rdx  
0000000000250032  movaps      xmmword ptr [rbp-30h],xmm0  
0000000000250036  mov         rbx,rsp  
0000000000250039  lea         rax,[rbx-50h]  
000000000025003D  mov         rsp,rax  
0000000000250040  movaps      xmm0,xmmword ptr [rbp-30h]  
0000000000250044  movups      xmmword ptr [rbx-40h],xmm0  
0000000000250048  lea         rcx,[rbp-50h]  
000000000025004C  lea         rdx,[rbp-60h]  
0000000000250050  lea         r8,[rbp-70h]  
0000000000250054  lea         r9,[rbp-80h]  
0000000000250058  mov         rax,130010h  
0000000000250062  lea         r10,[rbp-90h]  
0000000000250069  movups      xmm0,xmmword ptr [rdi]  
000000000025006C  movups      xmm1,xmmword ptr [rdi+10h]  
0000000000250070  movups      xmm2,xmmword ptr [rdi+20h]  
0000000000250074  movups      xmm3,xmmword ptr [rdi+30h]  
0000000000250078  movaps      xmm4,xmmword ptr [rbp-40h]  
000000000025007C  sub         rsp,30h  
0000000000250080  movaps      xmmword ptr [rbp-50h],xmm4  
0000000000250084  movaps      xmmword ptr [rbp-60h],xmm0  
0000000000250088  movaps      xmmword ptr [rbp-70h],xmm1  
000000000025008C  movaps      xmmword ptr [rbp-80h],xmm2  
0000000000250090  movaps      xmmword ptr [rbp-90h],xmm3  
0000000000250097  mov         qword ptr [rsp+20h],r10  
000000000025009C  call        rax  
000000000025009E  add         rsp,30h  
00000000002500A2  movups      xmmword ptr [rbx-50h],xmm0  
00000000002500A6  movups      xmm0,xmmword ptr [rdi+40h]  
00000000002500AA  subps       xmm0,xmmword ptr [rbp-40h]  
00000000002500AE  movups      xmmword ptr [rbx-30h],xmm0  
00000000002500B2  movups      xmm0,xmmword ptr [rdi+50h]  
00000000002500B6  subps       xmm0,xmmword ptr [rbp-40h]  
00000000002500BA  movups      xmmword ptr [rbx-20h],xmm0  
00000000002500BE  movups      xmm0,xmmword ptr [rdi+60h]  
00000000002500C2  subps       xmm0,xmmword ptr [rbp-40h]  
00000000002500C6  movups      xmmword ptr [rbx-10h],xmm0  
00000000002500CA  movups      xmm0,xmmword ptr [rbx-50h]  
00000000002500CE  movups      xmmword ptr [rsi],xmm0  
00000000002500D1  movups      xmm0,xmmword ptr [rbx-40h]  
00000000002500D5  movups      xmmword ptr [rsi+10h],xmm0  
00000000002500D9  movups      xmm0,xmmword ptr [rbx-30h]  
00000000002500DD  movups      xmmword ptr [rsi+20h],xmm0  
00000000002500E1  movups      xmm0,xmmword ptr [rbx-20h]  
00000000002500E5  movups      xmmword ptr [rsi+30h],xmm0  
00000000002500E9  movups      xmm0,xmmword ptr [rbx-10h]  
00000000002500ED  movups      xmmword ptr [rsi+40h],xmm0  
00000000002500F1  lea         rsp,[rbp-18h]  
00000000002500F5  pop         rbx  
00000000002500F6  pop         rdi  
00000000002500F7  pop         rsi  
00000000002500F8  pop         rbp  
00000000002500F9  ret  
posted on 2011-06-25 16:10 空明流轉(zhuǎn) 閱讀(2233) 評(píng)論(5)  編輯 收藏 引用

評(píng)論

# re: SALVIA的Vertex Shader已經(jīng)可以work了 2011-06-25 19:00 ooseven
樓主都用上llvm了?太贊!
能不能專門發(fā)一些介紹llvm主題的文章?
早就聽過(guò)llvm的大名卻無(wú)緣識(shí)得真面目  回復(fù)  更多評(píng)論
  

# re: SALVIA的Vertex Shader已經(jīng)可以work了 2011-06-25 19:05 空明流轉(zhuǎn)
@ooseven
LLVM的手冊(cè)要好好看,一個(gè)是Tutorial,一個(gè)是Reference。
要理解LLVM IR和C++ Interface之間的關(guān)系就OK了。

LLVM的源代碼質(zhì)量很高,調(diào)試起來(lái)什么的都很方便,小bug甚至自己都可以修的。  回復(fù)  更多評(píng)論
  

# re: SALVIA的Vertex Shader已經(jīng)可以work了 2011-06-25 19:19 千暮(zblc)
mark!  回復(fù)  更多評(píng)論
  

# re: SALVIA的Vertex Shader已經(jīng)可以work了 2011-06-27 01:19 陳梓瀚(vczh)
坐等可以work變成可以leverage  回復(fù)  更多評(píng)論
  

# re: SALVIA的Vertex Shader已經(jīng)可以work了 2011-12-21 19:35 Chansey
用llvm模擬的shader compiler?  回復(fù)  更多評(píng)論
  


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费日韩视频| 在线精品视频在线观看高清| 日韩亚洲欧美高清| 亚洲国产精品成人一区二区 | 久久天天躁狠狠躁夜夜av| 性做久久久久久| 欧美有码在线视频| 久久久五月婷婷| 欧美成人性生活| 亚洲国产日韩欧美在线99| 麻豆精品在线观看| 91久久精品一区二区三区| 亚洲乱码久久| 香蕉免费一区二区三区在线观看| 亚洲自拍16p| 久久亚洲午夜电影| 欧美精品一区二区三区在线播放| 欧美调教视频| 在线观看国产欧美| 中文精品视频一区二区在线观看| 午夜精品福利在线观看| 久久综合色综合88| 日韩图片一区| 久久人人九九| 国产精品午夜电影| 欧美精品免费在线观看| 国产一区日韩二区欧美三区| 又紧又大又爽精品一区二区| 日韩视频在线免费观看| 欧美在线视频免费播放| 亚洲国产精品t66y| 亚洲欧美日韩一区二区三区在线观看 | 亚洲免费电影在线| 欧美一区二区三区精品电影| 欧美国产91| 国产亚洲欧美一区二区| 99热免费精品| 老牛国产精品一区的观看方式| 一本色道88久久加勒比精品| 快射av在线播放一区| 国产噜噜噜噜噜久久久久久久久| 亚洲激情在线激情| 久久亚洲视频| 亚洲欧美日韩天堂| 欧美性感一类影片在线播放| 亚洲精品一区二区三区99| 久久久久久久综合日本| 9色精品在线| 欧美激情影音先锋| 亚洲欧洲精品一区二区三区波多野1战4| 欧美在线观看一区| 一区二区av在线| 欧美区视频在线观看| 91久久在线| 蜜臀av性久久久久蜜臀aⅴ| 亚洲欧美日韩国产综合在线| 欧美色网一区二区| 亚洲视频播放| 日韩视频三区| 欧美日韩精品综合在线| 日韩视频在线观看| 亚洲人精品午夜在线观看| 久久亚洲精品视频| 亚洲成色999久久网站| 久久亚洲私人国产精品va媚药 | 免费黄网站欧美| 久久精品72免费观看| 国产专区精品视频| 久久亚洲国产精品一区二区| 久久久精品tv| 亚洲电影免费观看高清完整版在线| 久久精品99国产精品| 亚洲欧美综合另类中字| 国产一区二区久久久| 久色成人在线| 午夜国产一区| 久久九九热re6这里有精品| 亚洲伊人网站| 国产亚洲精品福利| 免费高清在线视频一区·| 久久综合九色综合网站| 亚洲精选国产| 亚洲免费福利视频| 国产色爱av资源综合区| 久久久久久网| 免费亚洲电影| 亚洲免费人成在线视频观看| 亚洲欧美日韩一区二区三区在线观看| 国精产品99永久一区一区| 亚洲第一黄网| 国产精品九九| 噜噜噜91成人网| 欧美三级乱码| 欧美亚洲一区二区在线| 久久夜色精品国产噜噜av| 99在线精品视频在线观看| 亚洲欧美日本国产专区一区| 精品不卡在线| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 久久黄色小说| 亚洲精品免费一二三区| 亚洲视频在线观看| 亚洲电影在线免费观看| 一区二区三区精品久久久| 国产夜色精品一区二区av| 欧美国产第一页| 国产精品自在欧美一区| 欧美成人午夜激情视频| 国产精品网站一区| 亚洲精品乱码久久久久久| 国产亚洲视频在线| 亚洲美女免费视频| 在线电影国产精品| 亚洲午夜精品视频| 亚洲日韩欧美一区二区在线| 亚洲欧美日韩综合| 亚洲一区二区三区在线| 欧美 日韩 国产一区二区在线视频 | 欧美福利电影在线观看| 国产农村妇女毛片精品久久莱园子| 亚洲国产精品一区二区www| 国产亚洲综合在线| 亚洲男女自偷自拍| 亚洲一区三区在线观看| 欧美91精品| 老司机午夜精品视频| 国产欧美日韩一区二区三区在线观看| 99re8这里有精品热视频免费| 亚洲大黄网站| 久久伊伊香蕉| 美女诱惑一区| 麻豆精品精品国产自在97香蕉| 理论片一区二区在线| 久久精品国产亚洲一区二区三区| 欧美日韩第一页| 亚洲国产福利在线| 亚洲高清久久| 美女国内精品自产拍在线播放| 久久久久国产精品一区| 国产拍揄自揄精品视频麻豆| 亚洲综合三区| 久久成人18免费观看| 国产欧美日韩在线观看| 欧美在线观看网站| 久久婷婷久久| 亚洲国产99| 欧美激情四色| 亚洲精品国久久99热| 99精品国产一区二区青青牛奶| 欧美精品一区二区高清在线观看| 亚洲激情午夜| 亚洲一区二区三区乱码aⅴ| 欧美网站大全在线观看| 亚洲欧美区自拍先锋| 久久精品国产久精国产一老狼| 国产日韩精品一区二区三区| 欧美一级午夜免费电影| 久久综合伊人77777麻豆| 亚洲第一色在线| 欧美破处大片在线视频| 亚洲伊人一本大道中文字幕| 久久国产加勒比精品无码| 国语自产精品视频在线看8查询8| 久久久亚洲高清| 亚洲另类自拍| 久久精品亚洲精品| 日韩视频一区二区三区在线播放| 欧美日韩美女| 欧美有码视频| 亚洲老板91色精品久久| 欧美在线日韩精品| 在线观看福利一区| 欧美日韩在线影院| 久久gogo国模裸体人体| 亚洲激情第一区| 欧美一区二区| 日韩视频中文| 国产情侣久久| 欧美三级日本三级少妇99| 久久精品人人做人人爽| 亚洲伦伦在线| 久久免费国产精品| 中文在线一区| 亚洲第一狼人社区| 国产精品视频久久久| 狂野欧美一区| 亚洲欧美日韩在线播放| 亚洲伦理一区| 欧美成人一区二区三区在线观看 | 国际精品欧美精品| 欧美日韩国产精品专区| 久久精品噜噜噜成人av农村| av72成人在线| 欧美风情在线| 久久综合久久综合九色| 亚洲一区二区三区在线看| 91久久国产综合久久| 国产精品一区二区你懂的| 欧美精品久久一区| 久久综合九色综合欧美就去吻 |