#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *);
void dasdview_usage(void) {
  printf("\nprints DASD information:\n\n");
  printf("dasdview [-b begin] [-s size] [-1|-2] \n"
         "         [-i] [-x] [-j] [-c]\n"
         "         [-l] [-t {info|f1|f4|f5|f7|f8|f9|all}] \n"
         "         [-h] [-v] \n"
         "         {-n devno|-f node} device\n"
         "\nwhere:\n"
         "-b: prints a DASD dump from 'begin'\n"
         "-s: prints a DASD dump with size 'size'\n"
         "-1: use format 1 for the dump (default)\n"
         "-2: use format 2 for the dump\n"
         "    'begin' and 'size' can have the following format:\n"
         "    x[k|m|b|t|c]\n"
         "    for x byte, kilobyte, megabyte, blocks, tracks and\n"
         "    cylinders\n"
         "-i: prints general DASD information and geometry\n"
         "-x: prints extended DASD information\n"
         "-j: prints the volume serial number (volume identifier)\n"
         "-l: prints information about the volume label\n"
         "-t: prints the table of content (VTOC)\n"
         "-c: prints the characteristics of a device\n"
         "-h: prints this usage text\n"
         "-v: prints the version number\n"
         "-n: specifies the device by a device number (needs devfs)\n"
         "-f: specifies a device by a device node\n");
}


x86 assembly (clang, -O0):
<dasdview_usage>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <printf@plt>
lea    0xef5(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<dasdview_usage>:
push   %rax
lea    0xee8(%rip),%rdi
call   1030 <puts@plt>
lea    0xef7(%rip),%rdi
pop    %rax
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [28 x i8] c"\0Aprints DASD information:\0A\0A\00"
@.str.1 = [892 x i8] c"dasdview [-b begin] [-s size] [-1|-2] \0A [-i] [-x] [-j] [-c]\0A [-l] [-t {info|f1|f4|f5|f7|f8|f9|all}] \0A [-h] [-v] \0A {-n devno|-f node} device\0A\0Awhere:\0A-b: prints a DASD dump from 'begin'\0A-s: prints a DASD dump with size 'size'\0A-1: use format 1 for the dump (default)\0A-2: use format 2 for the dump\0A 'begin' and 'size' can have the following format:\0A x[k|m|b|t|c]\0A for x byte, kilobyte, megabyte, blocks, tracks and\0A cylinders\0A-i: prints general DASD information and geometry\0A-x: prints extended DASD information\0A-j: prints the volume serial number (volume identifier)\0A-l: prints information about the volume label\0A-t: prints the table of content (VTOC)\0A-c: prints the characteristics of a device\0A-h: prints this usage text\0A-v: prints the version number\0A-n: specifies the device by a device number (needs devfs)\0A-f: specifies a device by a device node\0A\00"
define void @dasdview_usage() {
%1 = call i32 @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @printf(i8* getelementptr inbounds ([892 x i8], [892 x i8]* @.str.1, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [27 x i8] c"\0Aprints DASD information:\0A\00"
@str.2 = [891 x i8] c"dasdview [-b begin] [-s size] [-1|-2] \0A [-i] [-x] [-j] [-c]\0A [-l] [-t {info|f1|f4|f5|f7|f8|f9|all}] \0A [-h] [-v] \0A {-n devno|-f node} device\0A\0Awhere:\0A-b: prints a DASD dump from 'begin'\0A-s: prints a DASD dump with size 'size'\0A-1: use format 1 for the dump (default)\0A-2: use format 2 for the dump\0A 'begin' and 'size' can have the following format:\0A x[k|m|b|t|c]\0A for x byte, kilobyte, megabyte, blocks, tracks and\0A cylinders\0A-i: prints general DASD information and geometry\0A-x: prints extended DASD information\0A-j: prints the volume serial number (volume identifier)\0A-l: prints information about the volume label\0A-t: prints the table of content (VTOC)\0A-c: prints the characteristics of a device\0A-h: prints this usage text\0A-v: prints the version number\0A-n: specifies the device by a device number (needs devfs)\0A-f: specifies a device by a device node\00"
define void @dasdview_usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([891 x i8], [891 x i8]* @str.2, i64 0, i64 0))
ret void
}