void place_finder(unsigned char grid[], const int size, const int x,
                  const int y) {
  int xp, yp;
  char finder[] = {0x7F, 0x41, 0x5D, 0x5D, 0x5D, 0x41, 0x7F};
  for (xp = 0; xp < 7; xp++) {
    for (yp = 0; yp < 7; yp++) {
      if (finder[yp] & 0x40 >> xp) {
        grid[((yp + y) * size) + (xp + x)] = 0x11;
      } else {
        grid[((yp + y) * size) + (xp + x)] = 0x10;
      }
    }
  }
}


x86 assembly (clang, -O0):
<place_finder>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
mov    %edx,-0x10(%rbp)
mov    %ecx,-0x14(%rbp)
mov    0xee9(%rip),%eax
mov    %eax,-0x23(%rbp)
mov    0xee3(%rip),%ax
mov    %ax,-0x1f(%rbp)
mov    0xedb(%rip),%al
mov    %al,-0x1d(%rbp)
movl   $0x0,-0x18(%rbp)
cmpl   $0x7,-0x18(%rbp)
jge    11d5 <place_finder+0xd5>
movl   $0x0,-0x1c(%rbp)
cmpl   $0x7,-0x1c(%rbp)
jge    11c2 <place_finder+0xc2>
movslq -0x1c(%rbp),%rax
movsbl -0x23(%rbp,%rax,1),%eax
mov    -0x18(%rbp),%ecx
mov    $0x40,%edx
sar    %cl,%edx
mov    %edx,%ecx
and    %ecx,%eax
cmp    $0x0,%eax
je     1192 <place_finder+0x92>
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
add    -0x14(%rbp),%ecx
imul   -0xc(%rbp),%ecx
mov    -0x18(%rbp),%edx
add    -0x10(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movb   $0x11,(%rax,%rcx,1)
jmp    11af <place_finder+0xaf>
mov    -0x8(%rbp),%rax
mov    -0x1c(%rbp),%ecx
add    -0x14(%rbp),%ecx
imul   -0xc(%rbp),%ecx
mov    -0x18(%rbp),%edx
add    -0x10(%rbp),%edx
add    %edx,%ecx
movslq %ecx,%rcx
movb   $0x10,(%rax,%rcx,1)
jmp    11b4 <place_finder+0xb4>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    1146 <place_finder+0x46>
jmp    11c7 <place_finder+0xc7>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1135 <place_finder+0x35>
pop    %rbp
ret

x86 assembly (clang, -O2):
<place_finder>:
push   %r14
push   %rbx
movslq %ecx,%rax
movslq %esi,%rbx
movslq %edx,%rcx
mov    %rax,%r8
imul   %rbx,%r8
lea    (%r8,%rcx,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x1(%rax),%r9
imul   %rbx,%r9
lea    (%r9,%rcx,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x2(%rax),%r10
imul   %rbx,%r10
lea    (%r10,%rcx,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x3(%rax),%r11
imul   %rbx,%r11
lea    (%r11,%rcx,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x4(%rax),%r14
imul   %rbx,%r14
lea    (%r14,%rcx,1),%rsi
movb   $0x11,(%rdi,%rsi,1)
lea    0x5(%rax),%rsi
imul   %rbx,%rsi
lea    (%rsi,%rcx,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
add    $0x6,%rax
imul   %rbx,%rax
lea    (%rax,%rcx,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    (%rcx,%r8,1),%rdx
add    $0x1,%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x1(%rcx,%r9,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x1(%rcx,%r10,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x1(%rcx,%r11,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x1(%rcx,%r14,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x1(%rcx,%rsi,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x1(%rcx,%rax,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x2(%rcx,%r8,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x2(%rcx,%r9,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x2(%rcx,%r10,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x2(%rcx,%r11,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x2(%rcx,%r14,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x2(%rcx,%rsi,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x2(%rcx,%rax,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x3(%rcx,%r8,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x3(%rcx,%r9,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x3(%rcx,%r10,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x3(%rcx,%r11,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x3(%rcx,%r14,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x3(%rcx,%rsi,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x3(%rcx,%rax,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x4(%rcx,%r8,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x4(%rcx,%r9,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x4(%rcx,%r10,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x4(%rcx,%r11,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x4(%rcx,%r14,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x4(%rcx,%rsi,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x4(%rcx,%rax,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x5(%rcx,%r8,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x5(%rcx,%r9,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x5(%rcx,%r10,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x5(%rcx,%r11,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x5(%rcx,%r14,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x5(%rcx,%rsi,1),%rdx
movb   $0x10,(%rdi,%rdx,1)
lea    0x5(%rcx,%rax,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x6(%rcx,%r8,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x6(%rcx,%r9,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x6(%rcx,%r10,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x6(%rcx,%r11,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x6(%rcx,%r14,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x6(%rcx,%rsi,1),%rdx
movb   $0x11,(%rdi,%rdx,1)
lea    0x6(%rcx,%rax,1),%rax
movb   $0x11,(%rdi,%rax,1)
pop    %rbx
pop    %r14
ret

LLVM IR (-O0):
@__const.place_finder.finder = [7 x i8] c"\7FA]]]A\7F"
define void @place_finder(i8* %0, i32 %1, i32 %2, i32 %3) {
%5 = alloca i8*
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca [7 x i8]
store i8* %0, i8** %5
store i32 %1, i32* %6
store i32 %2, i32* %7
store i32 %3, i32* %8
%12 = bitcast [7 x i8]* %11 to i8*
store i32 0, i32* %9
br label %13
13: ; preds = %61, %4
%14 = load i32, i32* %9
%15 = icmp slt i32 %14, 7
br i1 %15, label %16, label %64
16: ; preds = %13
store i32 0, i32* %10
br label %17
17: ; preds = %57, %16
%18 = load i32, i32* %10
%19 = icmp slt i32 %18, 7
br i1 %19, label %20, label %60
20: ; preds = %17
%21 = load i32, i32* %10
%22 = sext i32 %21 to i64
%23 = getelementptr inbounds [7 x i8], [7 x i8]* %11, i64 0, i64 %22
%24 = load i8, i8* %23
%25 = sext i8 %24 to i32
%26 = load i32, i32* %9
%27 = ashr i32 64, %26
%28 = and i32 %25, %27
%29 = icmp ne i32 %28, 0
br i1 %29, label %30, label %43
30: ; preds = %20
%31 = load i8*, i8** %5
%32 = load i32, i32* %10
%33 = load i32, i32* %8
%34 = add nsw i32 %32, %33
%35 = load i32, i32* %6
%36 = mul nsw i32 %34, %35
%37 = load i32, i32* %9
%38 = load i32, i32* %7
%39 = add nsw i32 %37, %38
%40 = add nsw i32 %36, %39
%41 = sext i32 %40 to i64
%42 = getelementptr inbounds i8, i8* %31, i64 %41
store i8 17, i8* %42
br label %56
43: ; preds = %20
%44 = load i8*, i8** %5
%45 = load i32, i32* %10
%46 = load i32, i32* %8
%47 = add nsw i32 %45, %46
%48 = load i32, i32* %6
%49 = mul nsw i32 %47, %48
%50 = load i32, i32* %9
%51 = load i32, i32* %7
%52 = add nsw i32 %50, %51
%53 = add nsw i32 %49, %52
%54 = sext i32 %53 to i64
%55 = getelementptr inbounds i8, i8* %44, i64 %54
store i8 16, i8* %55
br label %56
56: ; preds = %43, %30
br label %57
57: ; preds = %56
%58 = load i32, i32* %10
%59 = add nsw i32 %58, 1
store i32 %59, i32* %10
br label %17
60: ; preds = %17
br label %61
61: ; preds = %60
%62 = load i32, i32* %9
%63 = add nsw i32 %62, 1
store i32 %63, i32* %9
br label %13
64: ; preds = %13
ret void
}

LLVM IR (-O2):
define void @place_finder(i8* nocapture writeonly %0, i32 %1, i32 %2, i32 %3) {
%5 = sext i32 %3 to i64
%6 = sext i32 %1 to i64
%7 = sext i32 %2 to i64
%8 = mul nsw i64 %5, %6
%9 = add nsw i64 %8, %7
%10 = getelementptr inbounds i8, i8* %0, i64 %9
store i8 17, i8* %10
%11 = add nsw i64 %5, 1
%12 = mul nsw i64 %11, %6
%13 = add nsw i64 %12, %7
%14 = getelementptr inbounds i8, i8* %0, i64 %13
store i8 17, i8* %14
%15 = add nsw i64 %5, 2
%16 = mul nsw i64 %15, %6
%17 = add nsw i64 %16, %7
%18 = getelementptr inbounds i8, i8* %0, i64 %17
store i8 17, i8* %18
%19 = add nsw i64 %5, 3
%20 = mul nsw i64 %19, %6
%21 = add nsw i64 %20, %7
%22 = getelementptr inbounds i8, i8* %0, i64 %21
store i8 17, i8* %22
%23 = add nsw i64 %5, 4
%24 = mul nsw i64 %23, %6
%25 = add nsw i64 %24, %7
%26 = getelementptr inbounds i8, i8* %0, i64 %25
store i8 17, i8* %26
%27 = add nsw i64 %5, 5
%28 = mul nsw i64 %27, %6
%29 = add nsw i64 %28, %7
%30 = getelementptr inbounds i8, i8* %0, i64 %29
store i8 17, i8* %30
%31 = add nsw i64 %5, 6
%32 = mul nsw i64 %31, %6
%33 = add nsw i64 %32, %7
%34 = getelementptr inbounds i8, i8* %0, i64 %33
store i8 17, i8* %34
%35 = add nsw i64 %7, 1
%36 = mul nsw i64 %5, %6
%37 = add nsw i64 %35, %36
%38 = getelementptr inbounds i8, i8* %0, i64 %37
store i8 17, i8* %38
%39 = add nsw i64 %5, 1
%40 = mul nsw i64 %39, %6
%41 = add nsw i64 %35, %40
%42 = getelementptr inbounds i8, i8* %0, i64 %41
store i8 16, i8* %42
%43 = add nsw i64 %5, 2
%44 = mul nsw i64 %43, %6
%45 = add nsw i64 %35, %44
%46 = getelementptr inbounds i8, i8* %0, i64 %45
store i8 16, i8* %46
%47 = add nsw i64 %5, 3
%48 = mul nsw i64 %47, %6
%49 = add nsw i64 %35, %48
%50 = getelementptr inbounds i8, i8* %0, i64 %49
store i8 16, i8* %50
%51 = add nsw i64 %5, 4
%52 = mul nsw i64 %51, %6
%53 = add nsw i64 %35, %52
%54 = getelementptr inbounds i8, i8* %0, i64 %53
store i8 16, i8* %54
%55 = add nsw i64 %5, 5
%56 = mul nsw i64 %55, %6
%57 = add nsw i64 %35, %56
%58 = getelementptr inbounds i8, i8* %0, i64 %57
store i8 16, i8* %58
%59 = add nsw i64 %5, 6
%60 = mul nsw i64 %59, %6
%61 = add nsw i64 %35, %60
%62 = getelementptr inbounds i8, i8* %0, i64 %61
store i8 17, i8* %62
%63 = add nsw i64 %7, 2
%64 = mul nsw i64 %5, %6
%65 = add nsw i64 %63, %64
%66 = getelementptr inbounds i8, i8* %0, i64 %65
store i8 17, i8* %66
%67 = add nsw i64 %5, 1
%68 = mul nsw i64 %67, %6
%69 = add nsw i64 %63, %68
%70 = getelementptr inbounds i8, i8* %0, i64 %69
store i8 16, i8* %70
%71 = add nsw i64 %5, 2
%72 = mul nsw i64 %71, %6
%73 = add nsw i64 %63, %72
%74 = getelementptr inbounds i8, i8* %0, i64 %73
store i8 17, i8* %74
%75 = add nsw i64 %5, 3
%76 = mul nsw i64 %75, %6
%77 = add nsw i64 %63, %76
%78 = getelementptr inbounds i8, i8* %0, i64 %77
store i8 17, i8* %78
%79 = add nsw i64 %5, 4
%80 = mul nsw i64 %79, %6
%81 = add nsw i64 %63, %80
%82 = getelementptr inbounds i8, i8* %0, i64 %81
store i8 17, i8* %82
%83 = add nsw i64 %5, 5
%84 = mul nsw i64 %83, %6
%85 = add nsw i64 %63, %84
%86 = getelementptr inbounds i8, i8* %0, i64 %85
store i8 16, i8* %86
%87 = add nsw i64 %5, 6
%88 = mul nsw i64 %87, %6
%89 = add nsw i64 %63, %88
%90 = getelementptr inbounds i8, i8* %0, i64 %89
store i8 17, i8* %90
%91 = add nsw i64 %7, 3
%92 = mul nsw i64 %5, %6
%93 = add nsw i64 %91, %92
%94 = getelementptr inbounds i8, i8* %0, i64 %93
store i8 17, i8* %94
%95 = add nsw i64 %5, 1
%96 = mul nsw i64 %95, %6
%97 = add nsw i64 %91, %96
%98 = getelementptr inbounds i8, i8* %0, i64 %97
store i8 16, i8* %98
%99 = add nsw i64 %5, 2
%100 = mul nsw i64 %99, %6
%101 = add nsw i64 %91, %100
%102 = getelementptr inbounds i8, i8* %0, i64 %101
store i8 17, i8* %102
%103 = add nsw i64 %5, 3
%104 = mul nsw i64 %103, %6
%105 = add nsw i64 %91, %104
%106 = getelementptr inbounds i8, i8* %0, i64 %105
store i8 17, i8* %106
%107 = add nsw i64 %5, 4
%108 = mul nsw i64 %107, %6
%109 = add nsw i64 %91, %108
%110 = getelementptr inbounds i8, i8* %0, i64 %109
store i8 17, i8* %110
%111 = add nsw i64 %5, 5
%112 = mul nsw i64 %111, %6
%113 = add nsw i64 %91, %112
%114 = getelementptr inbounds i8, i8* %0, i64 %113
store i8 16, i8* %114
%115 = add nsw i64 %5, 6
%116 = mul nsw i64 %115, %6
%117 = add nsw i64 %91, %116
%118 = getelementptr inbounds i8, i8* %0, i64 %117
store i8 17, i8* %118
%119 = add nsw i64 %7, 4
%120 = mul nsw i64 %5, %6
%121 = add nsw i64 %119, %120
%122 = getelementptr inbounds i8, i8* %0, i64 %121
store i8 17, i8* %122
%123 = add nsw i64 %5, 1
%124 = mul nsw i64 %123, %6
%125 = add nsw i64 %119, %124
%126 = getelementptr inbounds i8, i8* %0, i64 %125
store i8 16, i8* %126
%127 = add nsw i64 %5, 2
%128 = mul nsw i64 %127, %6
%129 = add nsw i64 %119, %128
%130 = getelementptr inbounds i8, i8* %0, i64 %129
store i8 17, i8* %130
%131 = add nsw i64 %5, 3
%132 = mul nsw i64 %131, %6
%133 = add nsw i64 %119, %132
%134 = getelementptr inbounds i8, i8* %0, i64 %133
store i8 17, i8* %134
%135 = add nsw i64 %5, 4
%136 = mul nsw i64 %135, %6
%137 = add nsw i64 %119, %136
%138 = getelementptr inbounds i8, i8* %0, i64 %137
store i8 17, i8* %138
%139 = add nsw i64 %5, 5
%140 = mul nsw i64 %139, %6
%141 = add nsw i64 %119, %140
%142 = getelementptr inbounds i8, i8* %0, i64 %141
store i8 16, i8* %142
%143 = add nsw i64 %5, 6
%144 = mul nsw i64 %143, %6
%145 = add nsw i64 %119, %144
%146 = getelementptr inbounds i8, i8* %0, i64 %145
store i8 17, i8* %146
%147 = add nsw i64 %7, 5
%148 = mul nsw i64 %5, %6
%149 = add nsw i64 %147, %148
%150 = getelementptr inbounds i8, i8* %0, i64 %149
store i8 17, i8* %150
%151 = add nsw i64 %5, 1
%152 = mul nsw i64 %151, %6
%153 = add nsw i64 %147, %152
%154 = getelementptr inbounds i8, i8* %0, i64 %153
store i8 16, i8* %154
%155 = add nsw i64 %5, 2
%156 = mul nsw i64 %155, %6
%157 = add nsw i64 %147, %156
%158 = getelementptr inbounds i8, i8* %0, i64 %157
store i8 16, i8* %158
%159 = add nsw i64 %5, 3
%160 = mul nsw i64 %159, %6
%161 = add nsw i64 %147, %160
%162 = getelementptr inbounds i8, i8* %0, i64 %161
store i8 16, i8* %162
%163 = add nsw i64 %5, 4
%164 = mul nsw i64 %163, %6
%165 = add nsw i64 %147, %164
%166 = getelementptr inbounds i8, i8* %0, i64 %165
store i8 16, i8* %166
%167 = add nsw i64 %5, 5
%168 = mul nsw i64 %167, %6
%169 = add nsw i64 %147, %168
%170 = getelementptr inbounds i8, i8* %0, i64 %169
store i8 16, i8* %170
%171 = add nsw i64 %5, 6
%172 = mul nsw i64 %171, %6
%173 = add nsw i64 %147, %172
%174 = getelementptr inbounds i8, i8* %0, i64 %173
store i8 17, i8* %174
%175 = add nsw i64 %7, 6
%176 = mul nsw i64 %5, %6
%177 = add nsw i64 %175, %176
%178 = getelementptr inbounds i8, i8* %0, i64 %177
store i8 17, i8* %178
%179 = add nsw i64 %5, 1
%180 = mul nsw i64 %179, %6
%181 = add nsw i64 %175, %180
%182 = getelementptr inbounds i8, i8* %0, i64 %181
store i8 17, i8* %182
%183 = add nsw i64 %5, 2
%184 = mul nsw i64 %183, %6
%185 = add nsw i64 %175, %184
%186 = getelementptr inbounds i8, i8* %0, i64 %185
store i8 17, i8* %186
%187 = add nsw i64 %5, 3
%188 = mul nsw i64 %187, %6
%189 = add nsw i64 %175, %188
%190 = getelementptr inbounds i8, i8* %0, i64 %189
store i8 17, i8* %190
%191 = add nsw i64 %5, 4
%192 = mul nsw i64 %191, %6
%193 = add nsw i64 %175, %192
%194 = getelementptr inbounds i8, i8* %0, i64 %193
store i8 17, i8* %194
%195 = add nsw i64 %5, 5
%196 = mul nsw i64 %195, %6
%197 = add nsw i64 %175, %196
%198 = getelementptr inbounds i8, i8* %0, i64 %197
store i8 17, i8* %198
%199 = add nsw i64 %5, 6
%200 = mul nsw i64 %199, %6
%201 = add nsw i64 %175, %200
%202 = getelementptr inbounds i8, i8* %0, i64 %201
store i8 17, i8* %202
ret void
}