user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<get_sse>:
  endbr64
  push   %rbx
  mov    $0xb,%edi
  call   <get_cputype@plt>
  mov    %eax,%ebx
  test   $0x1,%ah
  jne    L0
L140:
  test   $0x1,%bl
  jne    L127
L145:
  test   $0x2,%bl
  jne    L43
L14:
  test   $0x4,%bl
  jne    L144
L15:
  test   $0x8,%bl
  jne    L194
L108:
  test   $0x10,%bl
  jne    L234
L11:
  test   $0x20,%bl
  jne    L16
L78:
  test   $0x40,%bl
  jne    L148
L146:
  test   $0x80,%bl
  jne    L189
L170:
  test   $0x40000,%ebx
  jne    L125
L196:
  test   $0x4,%bh
  jne    L77
L90:
  test   $0x2,%bh
  jne    L153
L55:
  pop    %rbx
  ret
L0:
  lea    D43(%rip),%rdi
  call   <printf@plt>
  jmp    L140
L127:
  lea    D96(%rip),%rdi
  call   <printf@plt>
  jmp    L145
L43:
  lea    D93(%rip),%rdi
  call   <printf@plt>
  jmp    L14
L144:
  lea    D109(%rip),%rdi
  call   <printf@plt>
  jmp    L15
L194:
  lea    D8(%rip),%rdi
  call   <printf@plt>
  jmp    L108
L234:
  lea    D31(%rip),%rdi
  call   <printf@plt>
  jmp    L11
L16:
  lea    D25(%rip),%rdi
  call   <printf@plt>
  jmp    L78
L148:
  lea    D65(%rip),%rdi
  call   <printf@plt>
  jmp    L146
L189:
  lea    D107(%rip),%rdi
  call   <printf@plt>
  jmp    L170
L125:
  lea    D60(%rip),%rdi
  call   <printf@plt>
  jmp    L196
L77:
  lea    D33(%rip),%rdi
  call   <printf@plt>
  jmp    L90
L153:
  lea    D106(%rip),%rdi
  call   <printf@plt>
  jmp    L55
```

tool_calls: name: disassemble_data
arguments: label: D43
type_guessed: string
name: disassemble_data
arguments: label: D96
type_guessed: string
name: disassemble_data
arguments: label: D93
type_guessed: string
name: disassemble_data
arguments: label: D109
type_guessed: string
name: disassemble_data
arguments: label: D8
type_guessed: string
name: disassemble_data
arguments: label: D31
type_guessed: string
name: disassemble_data
arguments: label: D25
type_guessed: string
name: disassemble_data
arguments: label: D65
type_guessed: string
name: disassemble_data
arguments: label: D107
type_guessed: string
name: disassemble_data
arguments: label: D60
type_guessed: string
name: disassemble_data
arguments: label: D33
type_guessed: string
name: disassemble_data
arguments: label: D106
type_guessed: string

tool: D43: HAVE_MMX=1


tool: D96: HAVE_SSE=1


tool: D93: HAVE_SSE2=1


tool: D109: HAVE_SSE3=1


tool: D8: HAVE_SSSE3=1


tool: D31: HAVE_SSE4_1=1


tool: D25: HAVE_SSE4_2=1


tool: D65: HAVE_SSE4A=1


tool: D107: HAVE_SSSE5=1


tool: D60: HAVE_AVX=1


tool: D33: HAVE_3DNOWEX=1


tool: D106: HAVE_3DNOW=1


assistant: ```c
void get_sse(void) {
  int features;
  features = get_cputype(11);
  if (features & (1 << 8))
    printf("HAVE_MMX=1\n");
  if (features & (1 << 0))
    printf("HAVE_SSE=1\n");
  if (features & (1 << 1))
    printf("HAVE_SSE2=1\n");
  if (features & (1 << 2))
    printf("HAVE_SSE3=1\n");
  if (features & (1 << 3))
    printf("HAVE_SSSE3=1\n");
  if (features & (1 << 4))
    printf("HAVE_SSE4_1=1\n");
  if (features & (1 << 5))
    printf("HAVE_SSE4_2=1\n");
  if (features & (1 << 6))
    printf("HAVE_SSE4A=1\n");
  if (features & (1 << 7))
    printf("HAVE_SSSE5=1\n");
  if (features & (1 << 18))
    printf("HAVE_AVX=1\n");
  if (features & (1 << 10))
    printf("HAVE_3DNOWEX=1\n");
  if (features & (1 << 9))
    printf("HAVE_3DNOW=1\n");
}
```