Quentin Carbonneauxnew blit instruction26c1c303 years agoHistory
75 lines · 1.3 KB · Text
RawDownload
# blit & load elimination exportfunction $f() {@start        %x =l alloc4 12        %y =l alloc4 12 	%x1 =l add 1, %x	%x2 =l add 1, %x1	%x3 =l add 1, %x2	%x4 =l add 1, %x3	%x5 =l add 1, %x4	%x6 =l add 1, %x5	%x7 =l add 1, %x6	%x8 =l add 1, %x7	%x9 =l add 1, %x8	%xa =l add 1, %x9	%xb =l add 1, %xa 	%y1 =l add 1, %y	%y4 =l add 4, %y		storew 287454020, %x4   # 0x11223344	storew 1432778632, %y   # 0x55667788	blit %y, %x5, 1	%n =w load %x4	call $px(w %n)          # 0x11228844 	storew 287454020, %x4   # 0x11223344	storew 1432778632, %y   # 0x55667788	blit %y, %x5, 2	%n =w load %x4	call $px(w %n)          # 0x11778844 	storew 287454020, %x4   # 0x11223344	storew 1432778632, %y   # 0x55667788	blit %y, %x5, 4	%n =w load %x4	call $px(w %n)          # 0x66778844 	storew 287454020, %x4   # 0x11223344	storew 1432778632, %y   # 0x55667788	blit %y, %x2, 4	%n =w load %x4	call $px(w %n)          # 0x11225566 	storew 287454020, %x4   # 0x11223344	storew 0, %y	storew 1432778632, %y4  # 0x55667788	blit %y1, %x2, 7	%n =w load %x4	call $px(w %n)          # 0x66778800 	ret} # >>> driver# #include <stdio.h># void px(unsigned n) {# 	printf("0x%08x\n", n);# }# int main() {# 	extern void f(void);# 	f();# }# <<< # >>> output# 0x11228844# 0x11778844# 0x66778844# 0x11225566# 0x66778800# <<<

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t